À moins que quelque chose ne m'échappe, il semble qu'aucune des API que j'ai examinées ne permette de savoir combien d'objets se trouvent dans un fichier <S3 bucket>/<folder>
. Existe-t-il un moyen d'obtenir un décompte ?
Réponses
Trop de publicités?Vous pouvez simplement exécuter cette commande cli pour obtenir le nombre total de fichiers dans le seau ou dans un dossier spécifique.
Scanner l'ensemble du seau
aws s3api list-objects-v2 --bucket testbucket | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME | grep "Key" | wc -l
vous pouvez utiliser cette commande pour obtenir des détails
aws s3api list-objects-v2 --bucket BUCKET_NAME
Numériser un dossier spécifique
aws s3api list-objects-v2 --bucket testbucket --prefix testfolder --start-after testfolder/ | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME --prefix FOLDER_NAME --start-after FOLDER_NAME/ | grep "Key" | wc -l
L'API renvoie la liste par incréments de 1000. Vérifiez la propriété IsTruncated pour voir s'il y en a encore. Si c'est le cas, vous devez faire un autre appel et passer la dernière clé que vous avez obtenue comme propriété Marker lors du prochain appel. Vous devez ensuite continuer à boucler ainsi jusqu'à ce que IsTruncated soit faux.
Voir ce document d'Amazon pour plus d'informations : Itérer à travers les résultats de plusieurs pages