Supprimer des fichiers, des répertoires et des seaux dans amazon s3 java
Je me demandais comment faire. J'ai regardé la documentation du kit de développement et d'avoir quelques exemples, mais je suis confus comment la syntaxe va généralement.
Si je veux supprimer un fichier, je suppose que je utiliser deleteObject(path, key)
. Cependant, qu'est-ce que la "clé"?
Aussi comment voulez-vous supprimer un répertoire? Je n'arrive pas à trouver une méthode pour le faire.
source d'informationauteur locoboy
Vous devez vous connecter pour publier un commentaire.
Une "clé" dans S3 est semblable à un chemin de fichier:
... est dans un seau nommé
bucket
et possède une clé desome/path/to/use
.Ce n'est pas vraiment un chemin, car il n'y a pas de dossiers. Le S3 clé est juste le nom de fichier pour un fichier dans un seul répertoire (tout le godet). S3 clés peuvent contenir
/
mais il n'a pas de signification particulière.En d'autres termes, avoir un objet nommé
some/object
ne vous dit pas quelque chose à propos de l'objetsome
(il pourrait ou ne pourrait pas exister, les deux objets ne sont pas liés).Toutefois, vous pouvez demander les clés avec un préfixe spécifique, pour que je puisse dire "donnez-moi toutes les clés avec
some/path/to/
et il sera de retoursome/path/to/use
. Ça ressemble à du "listing d'un répertoire", mais c'est vraiment juste de poser pour les fichiers qui commencent par une chaîne de caractères.Je pourrait tout aussi bien nommer les choses comme ceci:
Et de dire "donne-moi tout à commencer avec
somepathtouse
" (et il serait diresomepathtousea
etsomepathtouseb
).Remarque: S3 URL viennent dans plusieurs formes:
EDIT:
J'ai regardé la Javadoc et c'est la signature de la fonction, je vois (pour
AmazonS3Client
):Cet extrait de code qui fonctionne pour moi. folderPath est quelque chose comme "topDir/secondDir/"
Vous voudrez peut-être jeter un oeil à ce exemple pour une référence rapide sur la façon dont vous pouvez supprimer des objets à partir de S3.
La syntaxe pour
delete
est en faitdeleteObject( bucketName, key )
où bucketName est le seau dans lequel vous avez placé vos fichiers et la clé est le nom du fichier que vous souhaitez supprimer dans le seau.
Penser à un seau comme votre lecteur de disque dur comme C:\ , D:\ etc. Et la clé comme le chemin absolu d'un fichier que vous souhaitez supprimer.
/*Voici une solution qui fonctionne pour moi. Ici Bucket_Name est mon seau nom sur le S3, et la clé est le chemin d'accès sous Bucket_Name. Donc, si le chemin d'accès absolu sur S3 est:
s3://my_bucket/Chemin/vers/mon/dossier
ensuite, le code ci-dessous devrait fonctionner. */
Fonctionne pour moi, méfiez-vous de la troncature!
La ListObjectsV2Result a fonctionné pour moi. Essayer une fois.
La suppression d'une liste d'objets à partir de S3 seau en vrac:
Source: http://codeflex.co/delete-objects-from-amazon-s3-bucket-using-aws-sdk-for-java/
Que la question se pose au sujet de la Suppression des fichiers, des répertoires et des seaux dans amazon S3 java, je voudrais proposer un code pour la suppression d'un non-vide compartiment S3 (Référence AWS):