2
votes

Vérification de l'existence de fichiers AWS S3 en masse?

Quelle est la meilleure / la plus rapide approche pour vérifier si plusieurs fichiers existent dans le compartiment AWS S3?

Par exemple, j'ai 100k fichiers de métadonnées dans ma base de données locale. Je voudrais m'assurer que tous existent dans le compartiment S3. Je peux faire 'aws s3 ls' pour un fichier particulier, mais cela signifierait 100k demandes aws. Y a-t-il une meilleure approche à ce sujet?


0 commentaires

3 Réponses :


2
votes

Si vous souhaitez récupérer toutes les clés d'un compartiment spécifique en une seule commande, vous pouvez l'utiliser.

aws s3api list-objects --bucket <bucket-name> --no-paginate

Une fois que vous avez cette liste, vous pouvez la traiter par un code personnalisé.

/ p>


1 commentaires

Cette commande avec --no-paginate ne me donne que 1000 entrées avec une valeur de champ json Truncated = True . Si j'exécute la commande sans --no-paginate , elle renvoie tous les éléments du seau.



3
votes

Si vous effectuez simplement un audit général, vous pouvez utiliser Inventaire Amazon S3 pour obtenir un vidage quotidien complet de toutes les clés d'objet et des métadonnées associées.

Vous pouvez ensuite écrire du code pour comparer le contenu du fichier d'inventaire avec les entrées de la base de données.


0 commentaires

1
votes

Si vous souhaitez vous assurer que vos fichiers locaux sont sur S3, vous pouvez essayer le Commande de synchronisation s3 .

Vous pouvez également vérifier quels fichiers sont actuellement là avec Commande , qui prend en charge la navigation de fichiers S3 dans une belle arborescence .

 entrez la description de l'image ici


0 commentaires