Nach all den harten Arbeiten der Migration usw. Stellen Sie einfach fest, dass Sie den Inhalt mithilfe von CNAME (z. B. media.abc.com) bereitstellen müssen. Der Bucket-Name muss mit media.abc.com/S3/amazon.com beginnen, damit er einwandfrei funktioniert.
Beachten Sie nur, dass S3 kein direktes Umbenennen von der Konsole aus zulässt.
Gibt es Möglichkeiten, dies zu umgehen?
amazon-web-services
amazon-s3
cname
Carson Lee
quelle
quelle
Lösung
Erläuterung
Es gibt keine Umbenennungs-Bucket-Funktionalität für S3, da es in S3 technisch keine Ordner gibt, sodass wir jede Datei im Bucket verarbeiten müssen.
Der obige Code erstellt 1. einen neuen Bucket, 2. kopiert Dateien und 3. löscht den alten Bucket. Das ist es.
Wenn Sie viele Dateien in Ihrem Eimer haben und sich Sorgen über die Kosten machen, lesen Sie weiter. Hinter den Kulissen werden alle Dateien im Bucket zuerst kopiert und dann gelöscht. Es sollte einen unbedeutenden Betrag kosten, wenn Sie ein paar tausend Dateien haben. Überprüfen Sie andernfalls diese Antwort , um festzustellen , wie sich dies auf Sie auswirken würde.
Beispiel
Im folgenden Beispiel erstellen und füllen wir den alten Bucket und synchronisieren dann die Dateien mit dem neuen. Überprüfen Sie die Ausgabe der Befehle, um festzustellen, was AWS tut.
quelle
--acl bucket-owner-full-control
(wie in dieser Antwort ) kopieren könnenaws --region ap-southeast-2 s3 mb s3://new-bucket
Wahrscheinlich bot eine spätere Version des AWS CLI-Toolkits die
mv
Option.Ich benenne Buckets mit dem folgenden Befehl um:
quelle
new-bucket
zuerst erstellt werden muss, bevor der Befehl ausgeführt wird. Außerdem ist dasold-bucket
dann leer, aber NICHT gelöscht. Wenn Sie es nach der Übertragung aller Dateien löschen möchten, verwenden Sie den folgenden Befehl (ohne die spitzen Klammern):aws s3api delete-bucket --bucket <old-bucket> --region <region id>
aws s3 mv
kopiert und löscht tatsächlich, daher sollten die finanziellen Kosten gleich sein (glaube ich).