158 votes

comment supprimer des fichiers du seau amazon s3 ?

Je dois écrire du code en python qui supprimera le fichier requis d'un compartiment Amazon s3. Je suis capable de me connecter au compartiment Amazon s3, et aussi d'enregistrer des fichiers, mais comment puis-je supprimer un fichier ?

165voto

Kohányi Róbert Points 3327

Utilisation de boto3 (version actuelle 1.4.4) utiliser S3.Object.delete().

import boto3

s3 = boto3.resource('s3')
s3.Object('your-bucket', 'your-key').delete()

142voto

Anconia Points 399

En utilisant le SDK Python boto3 (et en supposant que les informations d'identification sont configurées pour AWS), les éléments suivants supprimeront un objet spécifié dans un compartiment :

import boto3

client = boto3.client('s3')
client.delete_object(Bucket='mybucketname', Key='myfile.whatever')

95voto

Suhail Points 547

a trouvé une autre façon de le faire en utilisant la boto :

from boto.s3.connection import S3Connection, Bucket, Key

conn = S3Connection(AWS_ACCESS_KEY, AWS_SECERET_KEY)

b = Bucket(conn, S3_BUCKET_NAME)

k = Key(b)

k.key = 'images/my-images/'+filename

b.delete_key(k)

28voto

Comm4nd0 Points 428

Bienvenue en 2020, voici la réponse en Python/Django :

from django.conf import settings 
import boto3   
s3 = boto3.client('s3')
s3.delete_object(Bucket=settings.AWS_STORAGE_BUCKET_NAME, Key=f"media/{item.file.name}")

Il m'a fallu beaucoup trop de temps pour trouver la réponse et c'était aussi simple que cela.

18voto

veuillez essayer ce code

import boto3   
s3 = boto3.client('s3')
s3.delete_object(Bucket="s3bucketname", Key="s3filepath")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X