Ordner nicht löschen, die auf Amazon S3
Ich versuche zu löschen, einen Ordner erstellt, als Ergebnis einer MapReduce-job. Andere Dateien in den Eimer zu löschen ganz gut, aber dieser Ordner nicht löschen. Wenn ich versuche, es zu löschen von der Konsole aus, die Statusanzeige neben seinem status bleibt bei 0. Haben mehrere versuche, einschließlich der mit logout/login in zwischen.
InformationsquelleAutor der Frage bgcode | 2012-03-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Erster Linie Amazon S3 tatsächlich nicht einem einheitlichen Konzept von Ordnern/Verzeichnissen, sondern ist ein Flachbild-storage-Architektur, bestehend aus Eimer und Objekte/- Tasten nur die directory-Stil-Präsentation gesehen, in den meisten tools für S3 (einschließlich der AWS-Management-Konsole selbst) beruht ausschließlich auf Konvention, D. H. zu simulieren, eine Hierarchie für Objekte mit identischen Präfixe - siehe meine Antwort zu Wie ein Objekt angeben Ablauf Präfix, der nicht mit dem Verzeichnis? für mehr details auf dieser Architektur, einschließlich Zitate/Referenzen von der AWS-Dokumentation.
Entsprechend, dein problem rühren könnte von einem Werkzeug verwenden eine andere Konvention für die Simulation dieser Hierarchie, finden Sie zum Beispiel folgende Antworten, die in den AWS-Foren:
Ivan Moiseev Antwort auf die Frage im Zusammenhang mit Nicht löschen-Datei aus der Glockewo er schlägt vor, verwenden Sie ein anderes tool um zu untersuchen, ob Sie vielleicht ein solches problem haben und beheben Sie ihn entsprechend zu.
Das AWS-team Antwort auf Was sind diese _$folder$ Objekte? - Dies ist eine Konvention, die von einer Reihe von tools, darunter Hadoop, um Verzeichnisse in S3. Sie sind in Erster Linie benötigt, um zu benennen, leere Verzeichnisse. Man hätte lieber eine mehr ästhetische Schema, aber gut, dass ist die Art und Weise, dass diese tools es tun.
Glück!
InformationsquelleAutor der Antwort Steffen Opel
Ich hatte das gleiche Problem und verwendet AWS-CLI, um es zu beheben:
(dies wird vorausgesetzt, Sie haben ausgeführt
aws configure
undaws s3 ls s3://<your-bucket>/
funktioniert bereits)InformationsquelleAutor der Antwort sonjz
War ich immer die folgende Fehlermeldung, wenn ich versuchte, Sie zu löschen, einen Eimer, ein Verzeichnis war, die log-Dateien von Cloudfront.
Nachdem ich das deaktiviert die Protokollierung in Cloudfront konnte ich den Ordner löschen erfolgreich.
Meine Vermutung ist, dass es ein system-Ordner verwendet, die von Cloudfront, die nicht zulassen, dass die Löschung durch den Eigentümer.
In Ihrem Fall, Sie möchten vielleicht prüfen, ob MapReduce ist das festhalten an der Ordner in Frage stellen.
InformationsquelleAutor der Antwort Parag Magunia
Ich Stand vor dem gleichen problem. Schon oft versucht, login -, logout-versuche und aktualisieren, aber das problem weiterhin besteht. Gesucht stackoverflow gefunden und Vorschläge zu schneiden, und fügen Sie Ordner in andere Ordner dann löschen, aber hat nicht geklappt.
Eine andere Sache, die Sie suchen sollten, ist für die Versionsverwaltung, die möglicherweise Einfluss auf Ihre Eimer kann zur Aussetzung der Versionierung erlauben Sie den Ordner zu löschen.
Meine Lösung war, um es zu löschen mit code. Ich habe verwendet, boto-Paket in python für das file-handling über s3 und das löschen funktioniert, wenn ich versuchte, Sie zu löschen, die Ordner aus meinem python-code.
S3 nicht halten directory ist es nur noch eine flat-file-Struktur, so dass Sie alles managed mit Schlüssel.
Für Sie sein ein Ordner, aber für S3 es nur einen Schlüssel.
Wenn Sie möchten, löschen Sie einen Ordner mit dem Namen -> dummy
dann wäre
InformationsquelleAutor der Antwort Rahul Jain
Erstens, Lesen Sie den Inhalt des Verzeichnisses aus
getBucket
Methode, dann hast du eine array-Liste aller Dateien, löschen Sie dann die Datei ausdeleteObject
Methode.$this->S3
ist S3-Objekt-Klasse, undAS_S3_BUCKET
ist die bucket-Namen ein.InformationsquelleAutor der Antwort user3556449