Saltar al contenido

Verifique si el archivo existe en s3 usando ls y comodines

Solución:

(redactado de nuevo a partir del comentario, ya que parece que esto respondió a la pregunta)

Yo mismo lo intenté y no pude usar comodines en aws-cli, y de acuerdo con los documentos, esto no es compatible actualmente. La solución más simple (aunque menos eficiente) sería usar grep:

aws s3 ls s3://my-bucket/folder/ | grep myfile

Alternativamente, puede escribir una secuencia de comandos corta de Python / otra para hacer esto de manera más eficiente (pero no en un solo comando)

aws s3 ls no admite globs, pero sincroniza lo hace y tiene un modo de funcionamiento en seco. Entonces, si hace esto (desde un directorio vacío) debería obtener los resultados que desea:

aws s3 sync s3://my-bucket . --exclude "*" --include "folder/*myfile*" --dryrun

Producirá líneas como esta para archivos coincidentes:

(dryrun) download s3://my-bucket/folder/myfile.txt to folder/myfile.txt
(dryrun) download s3://my-bucket/folder/_myfile-foo.xml to folder/_myfile-foo.xml

S3 no admite la lista de comodines. Necesita listar todos los archivos y grep.

aws s3 ls s3://mybucket/folder --recursive 

El comando anterior le dará la lista de archivos debajo de su carpeta, también busca los archivos dentro de la carpeta. Solo grep tu nombre de archivo

aws s3 ls s3://mybucket/folder --recursive |grep filename

Suponga que si desea encontrar varios archivos, cree una expresión regular de esos y haga grep.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *