J'ai besoin d'écrire un code en python qui va supprimer le fichier requis du seau amazon s3, je suis capable de faire des connexions au seau amazon s3 et aussi capable de sauvegarder des fichiers, je veux juste savoir comment supprimer un fichier ? S'il vous plaît aider si quelqu'un le sait.comment supprimer des fichiers du seau amazon s3?
Répondre
Par quelle interface? Utilisation de l'interface REST, vous venez send a delete:
DELETE /ObjectName HTTP/1.1
Host: BucketName.s3.amazonaws.com
Date: date
Content-Length: length
Authorization: signatureValue
Via le SOAP interface:
<DeleteObject xmlns="http://doc.s3.amazonaws.com/2006-03-01">
<Bucket>quotes</Bucket>
<Key>Nelson</Key>
<AWSAccessKeyId> 1D9FVRAYCP1VJEXAMPLE=</AWSAccessKeyId>
<Timestamp>2006-03-01T12:00:00.183Z</Timestamp>
<Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature>
</DeleteObject>
Si vous utilisez une bibliothèque Python like boto, il devrait exposer une fonction "supprimer", comme delete_key()
.
oui, j'utilise cette bibliothèque python, mais cela va-t-il supprimer le fichier? dois-je faire de cette façon: k.key = 'images/anon-images/petit /' + nom de fichier k.delete_key() est-ce correct? s'il vous plaît, faites-moi savoir. – Suhail
@Suhail: Je n'ai pas utilisé cette bibliothèque, mais à partir de la source que j'ai liée, ce qu'elle fait est un appel 'DELETE' via l'interface REST. Donc oui, malgré le nom "delete_key" (que je suis d'accord n'est pas clair), c'est vraiment supprimer l'objet * référencé * par la clé. –
Qu'en est-il de supprimer beaucoup de fichiers avec un préfixe commun dans le nom? Est-ce que S3 permet une suppression en bloc pour un tel cas, ou les supprimer un par un (ce qui est lent) est le must? –
Pour l'instant, j'ai résolu le problème en utilisant l'utilitaire Linux s3cmd. Je l'ai utilisé comme ceci en Python:
Il n'est pas vraiment pythonique d'invoquer un sous-shell pour communiquer avec S3 (une bibliothèque ou une transaction HTTP directe serait plus élégante), mais cela fonctionne toujours. Je ne pense pas qu'il mérite une downvote. +1 –
vraiment, ce n'est même pas faux – rbp
trouvé une autre façon de le faire en utilisant le 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)
Si vous voulez supprimer TOUT dans un seau, vous pouvez faire: 'pour x dans b.list(): b.delete_key (x.key) ' – jontsai
J'aime comment dans mon dossier il s'avère être' bucket.list() ' –
Pour que cet extrait de code fonctionne comme présenté, vous devrez également importer' Bucket' et 'Key'. Comme dans: 'de boto.s3.connection importer S3Connection, Bucket, Key' –
Je suis surpris qu'il n'y a pas cette façon facile: key.delete()
:
from boto.s3.connection import S3Connection, Bucket, Key
conn = S3Connection(AWS_ACCESS_KEY, AWS_SECERET_KEY)
bucket = Bucket(conn, S3_BUCKET_NAME)
k = Key(bucket = bucket, name=path_to_file)
k.delete()
Utilisation du Python boto3 SDK (et en supposant des informations d'identification sont configurés pour AWS), ce qui suit va supprimer un objet spécifié dans un seau:
import boto3
client = boto3.client('s3')
client.delete_object(Bucket='mybucketname', Key='myfile.whatever')
cela ne crée-t-il pas simplement un marqueur de suppression? – Rob
En utilisant boto3
(actuellement la version 1.4.4), utilisez S3.Object.delete()
.
import boto3
s3 = boto3.resource('s3')
s3.Object('your-bucket', 'your-key').delete()
- 1. amazon s3 hébergement virtuel de seau
- 2. création de seau php amazon s3
- 3. Fichiers de visualisation Amazon S3
- 4. Amazon S3 boto - comment créer un dossier?
- 5. Intégration Amazon S3
- 6. Supprimer d'Amazon S3
- 7. Comment télécharger à distance des fichiers sur Amazon S3?
- 8. rubis problème seau aws-s3
- 9. Amazon S3 Uploads File
- 10. Amazon S3 et swfaddress
- 11. Amazon S3 ne sert pas les fichiers correctement
- 12. Amazon S3 - Association externe Bucket APi
- 13. Amazon S3 pour les réseaux sociaux?
- 14. Autorisations Amazon S3
- 15. Taille dynamique des fichiers dans le compartiment Amazon S3
- 16. Dans quelle zone géographique mon seau S3 est-il stocké?
- 17. Transférer des fichiers entre Amazon EC2 et S3
- 18. flash ne pas trouver crossdomain.xml (Amazon S3)
- 19. Comment faire pour supprimer beaucoup d'objets nommés avec le préfixe commun de s3 seau?
- 20. Amazon S3 Redirect sur accès refusé
- 21. Comment séquencer des événements lors du téléchargement de fichiers volumineux sur Amazon S3?
- 22. git et Amazon s3
- 23. Comment désactiver les cookies dans Amazon S3
- 24. Transfert de fichiers en vrac Amazon Python S3 via Python
- 25. Comment utiliser les classes Amazon S3 avec Walrus S3?
- 26. Redirection d'objet Amazon S3
- 27. S3 Amazon downloader
- 28. ClickOnce et Amazon S3
- 29. Paperclip et Amazon S3 Édition
- 30. Répertorier des répertoires à un niveau donné dans Amazon S3
Quelle bibliothèque Python (le cas échéant) utilisez-vous pour la prise en charge de S3? Ou allez-vous directement aux interfaces REST ou SOAP dans votre code Python? –
J'utilise la bibliothèque python boto.s3 – Suhail