2014-12-03 3 views

risposta

21

Il --query argomento utilizza espressioni JMESPath. JMESPath has an internal function contains che consente di cercare un motivo di stringa.

Questo dovrebbe dare i risultati desiderati: (. Con Linux avevo bisogno di usare le virgolette singole ' piuttosto che indietro zecche ` intorno mySearchPattern)

aws s3api list-objects --bucket myBucketName --query "Contents[?contains(Key, `mySearchPattern`)]" 

Se si desidera cercare le chiavi partenza con determinati caratteri, è inoltre possibile utilizzare l'argomento --prefix:

aws s3api list-objects --bucket myBucketName --prefix "myPrefixToSearchFor" 
+0

Su Linux usando le virgolette singole non ha funzionato. Ma la fuga dai backtick ha funzionato. (Ad esempio \\ 'mySearchPattern \\') – swdev

+0

Inoltre, se mySearchPattern è un numero puro (ad esempio' 20150101'), la CLI lamenta che dovrebbe essere una stringa e non un intero. Anche attraverso te l'hai citata. Non ho trovato una soluzione tranne includere un non-digit nel searchPattern (ad esempio '20150101 /'), quindi non si lamenta. – swdev

+0

Grazie per il commento sulle citazioni singole! Mi stavo chiedendo wtf stava succedendo ,,,, – notzippy