Umbenannte Ordner in AWS S3 (Java)

Ich möchte einen Ordner in AWS S3 umbenennen

Erstens hat AWS S3 nicht das Konzept von Ordnern, daher ist der Name "Ordner" unangemessen. (Ist es in diesem Fall angemessener, es als "Schlüssel" zu bezeichnen?)

Derzeit wird es der Einfachheit halber als "Ordner" bezeichnet.

AWS S3 kann einen einmal erstellten Ordner nicht umbenennen

Sie könnten denken, dass Sie es nicht plötzlich tun können, aber Sie können nicht. Sie können es nicht über die Verwaltungskonsole ändern.

Nande? Ich dachte, ich sah nach unten und verstand. Korrekt. Es ist nur ein Datenspeicher vom Typ Schlüsselwert ...

"Zerstören Sie die Illusion von" Ordnern "in Amazon S3 und enthüllen Sie deren Inhalt." https://dev.classmethod.jp/cloud/aws/amazon-s3-folders/

Neuen Ordner erstellen → Inhalt kopieren → Originalordner löschen

Dies wird mit folgendem möglich sein. Dies ist das gleiche Verfahren wie beim Umbenennen unter Unix / Linux.

public void changeFolderName(String bucketName, String oldPrefix, String newPrefix){
    AmazonS3 s3 = new AmazonS3Client(new ClasspathPropertiesFileCredentialsProvider());
    ObjectListing listing = s3.listObjects(bucketName, oldPrefix);

    for (S3ObjectSummary summary: listing.getObjectSummaries()) {
      String oldKey = summary.getKey();
      String newKey = new StringBuilder().append(newPrefix).append(oldKey.substring(oldPrefix.length())).toString();
      s3.copyObject(bucketName, oldKey, bucketName, newKey);
      s3.deleteObject(bucketName, oldKey);
    }
}

Recommended Posts

Umbenannte Ordner in AWS S3 (Java)
Löschen von AWS S3-Objekten in Java
Versuchen Sie, AWS X-Ray in Java auszuführen
Partisierung in Java
Änderungen in Java 11
Janken in Java
Umfangsrate in Java
FizzBuzz in Java
[AWS IoT] Implementieren der Autorisierung von Direktaufrufen in Java [Java]
Laden Sie Notizen in Java auf S3 hoch und laden Sie sie herunter
Code zum Löschen aller Dateien mit dem angegebenen Präfix in AWS S3 (Java)
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Protokollaggregation und -analyse (Arbeiten mit AWS Athena in Java)
Generieren Sie AWS Signature V4 in Java und fordern Sie die API an
Versuchen Sie es mit RocksDB mit Java
Lesen Sie Binärdateien in Java 1
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
Holen Sie sich EXIF-Informationen in Java
[Neta] Sleep Sort in Java
Bearbeiten von ini in Java: ini4j
Java-Geschichte in dieser Welt
Segfo Java in 6 Zeilen
Lassen Sie uns Spresense mit Java entwickeln (1)
Probieren Sie den Funktionstyp in Java aus! ①
Ich habe ein Roulette in Java gemacht.
Implementierung der zweistufigen Authentifizierung in Java
Schreiben Sie Flyway-Rückrufe in Java
Importieren Sie Excel-Daten mit Java 2