Limitar buscas recursivas 'aws s3 ls' por número de itens na pasta

0

Este é o cenário:

Eu preciso pesquisar recursivamente por toneladas e toneladas de pastas e subpastas e cuspir os resultados em um arquivo de log usando o comando ls, MAS, preciso parar de pesquisar uma pasta se ela tiver mais de 10 objetos? A razão é que quando eu tenho uma amostra de 10 itens em uma pasta, eu sei o que está na pasta e como algumas pastas contêm dezenas de milhares de resultados, isso economizará muito tempo.

Por que você está limitado a 'ls'? Porque estou pesquisando o S3, usando o comando aws s3 ls . O comando aws s3 ls --summarize --recursive faz o que eu preciso, só preciso de uma maneira de limitar a pesquisa com base no número de itens em uma pasta.

Eu tentei usar aws s3api list-buckets & list-objects e assim por diante, mas mesmo com a tag --max-values ela não faz o que eu preciso. Obrigado pela sua ajuda.

    
por Sidereal 03.08.2018 / 19:30

1 resposta

0

roaima está correto; "aws s3 ls" é assim chamado para que as pessoas saibam o tipo de trabalho que faz (listar arquivos). Não é realmente o comando ls e apenas tenta se comportar da mesma forma em um nível muito superficial.

Eu acredito que a melhor maneira de fazer o que você quer seria escrever um script usando a API boto3; s3.client.list_objects () tem um argumento MaxKeys que você pode usar para limitar as recuperações dentro de um caminho.

    
por 03.08.2018 / 20:04