Le dossier ne sera pas supprimé sur Amazon S3
Je suis en train de supprimer un dossier créé comme un résultat d'un travail de MapReduce. D'autres fichiers dans le seau de supprimer tout simplement beau, mais ce dossier ne sera pas effacer. Quand j'ai essayer de le supprimer à partir de la console, la barre de progression en regard de son statut reste à 0. Ont fait de multiples tentatives, y compris avec déconnexion/connexion entre les deux.
source d'informationauteur bgcode
Vous devez vous connecter pour publier un commentaire.
D'abord et avant tout, Amazon S3 n'ont pas réellement un natif concept de dossiers/répertoires, il est plutôt un plat d'architecture de stockage composé de seaux et des objets/des clés - le répertoire style de présentation dans la plupart des outils pour les S3 (y compris les AWS Management Console lui-même) est basée uniquement sur la convention, à savoir la simulation d'une hiérarchie d'objets avec les mêmes préfixes - voir ma réponse à Comment spécifier un objet d'expiration préfixe qui ne correspond pas à un répertoire? pour plus de détails sur cette architecture, y compris des citations et des références à partir d'AWS documentation.
En conséquence, votre problème peut provenir d'un outil à l'aide d'une convention différente pour la simulation de cette hiérarchie, voir par exemple les réponses suivantes dans le forum AWS:
Ivan Moiseev, la réponse à la question relative à la Impossible de supprimer le fichier à partir de seauoù il suggère d'utiliser un autre outil pour vérifier si vous pourriez avoir ce problème et d'y remédier en conséquence.
L'équipe AWS réponse à Ce sont ces _$dossier$ objets? - C'est une convention utilisée par un certain nombre d'outils, notamment Hadoop pour faire répertoires dans S3. Ils sont principalement pour désigner les répertoires vides. On aurait préféré un plus esthétique, mais bien que c'est la façon dont ces outils ne.
Bonne chance!
J'ai eu le même problème et utilisé AWS CLI pour résoudre le problème:
(cela suppose que vous avez exécuté
aws configure
etaws s3 ls s3://<your-bucket>/
fonctionne déjà)Je recevais le message d'erreur suivant lorsque j'ai essayé de supprimer un seau qui est un répertoire qui a tenu les fichiers journaux à partir de Cloudfront.
Après j'ai désactivé l'exploitation forestière dans Cloudfront j'ai pu supprimer le dossier avec succès.
Ma conjecture est que c'est un dossier système utilisé par Cloudfront qui ne permettent pas la suppression par le propriétaire.
Dans votre cas, vous voudrez peut-être vérifier si MapReduce est tenue sur le dossier en question.
J'ai été confrontée au même problème. Essayé beaucoup de la connexion, la déconnexion de tentatives et d'actualisation, mais le problème persiste. Cherché sur stackoverflow et trouvé des suggestions pour couper et coller le dossier dans un autre dossier, puis supprimer, mais n'a pas travaillé.
Une autre chose que vous devriez regarder est pour les versions qui pourraient affecter votre réservoir peut être la suspension de la gestion des versions vous permettent de supprimer le dossier.
Ma solution a été de le supprimer avec code. J'ai utilisé le package boto en python pour le traitement des fichiers de plus de s3 et la suppression travaillé lorsque j'ai essayé de supprimer le dossier de mon code python.
S3 ne pas garder le répertoire, il suffit d'une structure de fichier plat, donc tout est géré avec la clé.
Pour vous ses un dossier, mais pour S3-ce juste une clé.
Si vous souhaitez supprimer un dossier nommé -> mannequin
ensuite, la clé serait
Tout d'abord, lire le contenu du répertoire de
getBucket
méthode, alors vous avez un tableau la liste de tous les fichiers, puis supprimer le fichier à partir dedeleteObject
méthode.$this->S3
est S3 objet de classe, etAS_S3_BUCKET
est seau nom.