Je pensais à supprimer puis à recréer le bucket (mauvaise option que j'ai réalisée plus tard).
Alors comment supprimer tous les objets du bucket?
J'ai essayé ceci: http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Bucket.delete_objects
Mais il supprime plusieurs objets pas tous.
pouvez-vous suggérer quelle est la meilleure façon de vider le seau?
Utilisez simplement aws cli .
aws s3 rm s3://mybucket --recursive
Eh bien, pour une réponse plus longue si vous insistez pour utiliser boto3. Cela enverra un marqueur de suppression à s3. Aucune gestion de dossier requise. bucket.Object.all créera un itérateur qui ne se limite pas à 1K.
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
# suggested by Jordon Philips
bucket.objects.all().delete()
Si le contrôle de version est activé, il existe un appel similaire à l'autre réponse pour supprimer toutes les versions d'objet:
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucket-name')
bucket.object_versions.delete()