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.
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/
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