Benennungsregeln für Allzweck-Buckets
Wenn Sie einen Allzweck-Bucket erstellen, achten Sie auf die Länge, die gültigen Zeichen, die Formatierung und die Eindeutigkeit der Bucket-Namen. Die folgenden Abschnitte enthalten Informationen zur Benennung von Allzweck-Buckets, einschließlich Benennungsregeln, bewährter Methoden und eines Beispiels für die Erstellung eines Allzweck-Buckets mit einem Namen, der eine GUID (Globally Unique Identifier) enthält.
Informationen über Objektschlüsselnamen finden Sie unter Erstellen von Objektschlüsselnamen.
Um einen Allzweck-Bucket zu erstellen, siehe Erstellen eines Allzweck-Buckets.
Themen
Regeln für die Benennung von Buckets für allgemeine Zwecke
Die folgenden Regeln gelten für die Benennung von Buckets für allgemeine Zwecke.
-
Bucket-Namen müssen zwischen (min.) 3 und (max.) 63 Zeichen lang sein.
-
Bucket-Namen können nur aus Kleinbuchstaben, Zahlen und Bindestrichen (
.) und Gedankenstrichen (-) bestehen. -
Bucket-Namen müssen mit einem Buchstaben oder einer Zahl beginnen und enden.
-
Bucket-Namen dürfen keine aufeinander folgenden Punkte (..) enthalten.
-
Bucket-Namen dürfen nicht als IP-Adresse formatiert sein (zum Beispiel
192.168.5.4). -
Der Bucket-Name darf nicht mit dem Präfix
xn--beginnen. -
Der Bucket-Name darf nicht mit dem Präfix
sthree-beginnen. -
Der Bucket-Name darf nicht mit dem Präfix
amzn-s3-demo-beginnen. -
Bucket-Namen dürfen nicht mit dem Suffix
-s3aliasenden. Dieses Suffix ist für Zugriffspunkt-Aliasnamen reserviert. Weitere Informationen finden Sie unter Zugriffspunkt-Aliasse. -
Bucket-Namen dürfen nicht mit dem Suffix
--ol-s3enden. Dieses Suffix ist für Objekt-Lambda-Zugriffspunkt-Aliasnamen reserviert. Weitere Informationen finden Sie unter So verwenden Sie einen Alias im Bucket-Stil für den Object Lambda Access Point Ihres S3-Buckets. -
Bucket-Namen dürfen nicht mit dem Suffix
.mrapenden. Dieses Suffix ist für Namen Multi-Region Access Point reserviert. Weitere Informationen finden Sie unter Regeln zur Benennung von Amazon S3-Multi-Regions-Zugriffspunkten. -
Bucket-Namen dürfen nicht mit dem Suffix
--x-s3enden. Dieses Suffix ist für Verzeichnis-Buckets reserviert. Weitere Informationen finden Sie unter Regeln für die Benennung von Verzeichnis-Buckets. -
Bucket-Namen dürfen nicht mit dem Suffix
--table-s3enden. Dieses Suffix ist für S3 Tables Buckets reserviert. Weitere Informationen finden Sie unter Regeln für die Benennung von Tabellen-Buckets, Tabellen und Namespaces in Amazon S3. -
Buckets, die mit Amazon S3 Transfer Acceleration verwendet werden, können keine Punkte (
.) in ihren Namen haben. Weitere Informationen zu Transfer Acceleration finden Sie unter Konfigurieren schneller, sicherer Dateiübertragungen mit Amazon S3 Transfer Acceleration.
Wichtig
-
Bucket-Namen müssen überall in AWS-Konten innerhalb der gesamten AWS-Regionen auf einer Partition eindeutig sein. Eine Partition ist eine Gruppierung von Regionen. AWS verfügt derzeit über drei Partitionen:
aws(kommerzielle Regionen),aws-cn(China-Regionen) undaws-us-gov(AWS GovCloud (US)-Regionen). -
Ein Bucket-Name kann nicht von einem anderen AWS-Konto in derselben Partition verwendet werden, bis der Bucket gelöscht wird. Beachten Sie nach dem Löschen eines Buckets, dass ein anderes AWS-Konto in derselben Partition denselben Bucket-Namen für einen neuen Bucket verwenden und daher möglicherweise Anfragen für den gelöschten Bucket erhalten kann. Wenn Sie weiterhin denselben Bucket-Namen verwenden wollen, sollten Sie den Bucket nicht löschen. Wir empfehlen, den Bucket zu leeren und beizubehalten und stattdessen alle Bucket-Anfragen nach Bedarf zu blockieren. Für Buckets, die nicht mehr aktiv verwendet werden, empfehlen wir, den Bucket mit allen Objekten zu leeren, um die Kosten zu minimieren und gleichzeitig den Bucket selbst beizubehalten.
-
Wenn Sie einen Allzweck-Bucket erstellen, wählen Sie seinen Namen und die AWS-Region aus, in der er erstellt werden soll. Name oder Region einmal erstellter Allzweck-Buckets können nicht nachträglich geändert werden.
-
Geben Sie im Bucket-Namen keine sensiblen Informationen an. Der Bucket-Name wird in der URL angezeigt, die auf die Objekte im Bucket verweist.
Anmerkung
Vor dem 1. März 2018 konnten Buckets, die in der Region USA Ost (Nord-Virginia) erstellt wurden, Namen mit bis zu 255 Zeichen und mit Großbuchstaben und Unterstrichen haben. Ab dem 1. März 2018 müssen neue Buckets in USA Ost (Nord-Virginia) den gleichen Regeln entsprechen, die in allen anderen Regionen angewendet werden.
Beispiel für Namen von Buckets für allgemeine Zwecke
Die folgenden Bucket-Namen zeigen Beispiele dafür, welche Zeichen in Allzweck-Bucket-Namen zulässig sind: a–z, 0–9 und Bindestriche (-). Das reservierte Präfix amzn-s3-demo- wird hier nur zur Veranschaulichung verwendet. Da es sich um ein reserviertes Präfix handelt, können Sie keine Bucket-Namen erstellen, die mit amzn-s3-demo- beginnen.
-
amzn-s3-demo-bucket1-a1b2c3d4-5678-90ab-cdef-example11111 -
amzn-s3-demo-bucket
Die folgenden Beispiel-Bucket-Namen sind gültig, aber nicht für andere Verwendungszwecke als statisches Website-Hosting empfohlen (.):
-
example.com -
www.example.com -
my.example.s3.bucket
Die folgenden Beispiel-Bucket-Namen sind ungültig:
-
amzn_s3_demo_bucket(enthält Unterstriche) -
AmznS3DemoBucket(enthält Großbuchstaben) -
amzn-s3-demo-bucket-(beginnt mit einemamzn-s3-demo--Präfix und endet mit einem Bindestrich) -
example..com(enthält zwei Punkte hintereinander) -
192.168.5.4(entspricht dem Format einer IP-Adresse)
Bewährte Methoden
Beachten Sie bei der Benennung Ihrer Allzweck-Buckets die folgenden bewährten Verfahren zur Benennung von Buckets.
Wählen Sie ein Bucket-Benennungsschema, bei dem keine Namenskonflikte zu erwarten sind.
Wenn Ihre Anwendung automatisch Buckets erstellt, wählen Sie ein Bucket-Benennungsschema, bei dem keine Namenskonflikte zu erwarten sind. Stellen Sie sicher, dass Ihre Anwendungslogik einen anderen Bucket-Namen auswählt, wenn ein Bucket-Name bereits vergeben ist.
Globale eindeutige Bezeichner (GUIDs) an Bucket-Namen anhängen
Wir empfehlen, Bucket-Namen zu erstellen, die nicht vorhersehbar sind. Schreiben Sie keinen Code in der Annahme, dass der von Ihnen gewählte Bucket-Name verfügbar ist, es sei denn, Sie haben den Bucket bereits erstellt. Eine Methode zum Erstellen nicht vorhersehbarer Bucket-Namen, besteht darin, einen Globally Unique Identifier (GUID) an Ihren Bucket-Namen anzuhängen, beispielsweise, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Weitere Informationen finden Sie unter Erstellen eines Buckets, der eine GUID im Bucket-Namen verwendet.
Vermeiden Sie die Verwendung von Punkten (.) in Bucket-Namen
Aus Gründen der besten Kompatibilität empfehlen wir, Punkte (.) in Bucket-Namen zu vermeiden, mit Ausnahme von Buckets, die nur für statisches Website-Hosting verwendet werden. Wenn Sie Punkte in den Namen eines Buckets einfügen, können Sie die Adressierung im Stil eines virtuellen Hosts über HTTPS nicht verwenden, es sei denn, Sie führen eine eigene Zertifikatsüberprüfung durch. Die Sicherheitszertifikate, die für das virtuelle Hosting von Buckets verwendet werden, funktionieren nicht für Buckets mit Punkten in ihren Namen.
Diese Einschränkung gilt nicht für Buckets, die für das Hosting statischer Websites verwendet werden, da das Hosting statischer Websites nur über HTTP möglich ist. Weitere Informationen zur Adressierung im virtuellen Hosting-Stil finden Sie unter Virtuelles Hosting von Allzweck-Buckets. Weitere Hinweise zum Hosten statischer Websites finden Sie unter Hosten einer statischen Website mit Amazon S3.
Auswählen eines relevanten Namens
Wenn Sie einen Bucket benennen, empfehlen wir Ihnen, einen Namen zu wählen, der für Sie oder Ihr Unternehmen relevant ist. Vermeiden Sie die Verwendung von Namen, die mit anderen Entitäten verbunden sind. Vermeiden Sie zum Beispiel die Verwendung von AWS oder Amazon in Ihrem Bucket-Namen.
Löschen Sie keine Buckets, damit Sie Bucket-Namen wiederverwenden können.
Wenn ein Bucket leer ist, können Sie ihn löschen. Nachdem ein Bucket gelöscht wurde, wird der Name zur Wiederverwendung verfügbar. Es ist jedoch nicht garantiert, dass Sie den Namen sofort oder überhaupt wieder verwenden können. Nachdem Sie einen Bucket gelöscht haben, kann einige Zeit vergehen, bis Sie den Namen wieder verwenden können. Außerdem könnte ein anderer AWS-Konto einen Bucket mit demselben Namen erstellen, bevor Sie den Namen wiederverwenden können.
Nach dem Löschen eines Allzweck-Buckets ist zu beachten, dass ein anderes AWS-Konto in derselben Partition denselben Bucket-Namen für einen neuen Bucket verwenden kann und daher möglicherweise Anfragen erhält, die für den gelöschten Allzweck-Bucket bestimmt sind. Wenn Sie dies verhindern wollen oder wenn Sie weiterhin denselben Allzweck-Bucket-Namen verwenden wollen, dürfen Sie den Allzweck-Bucket nicht löschen. Wir empfehlen, den Bucket zu leeren und beizubehalten und stattdessen alle Bucket-Anfragen nach Bedarf zu blockieren.
Erstellen eines Buckets, der eine GUID im Bucket-Namen verwendet
Die folgenden Beispiele zeigen, wie Sie einen Allzweck-Bucket erstellen, der eine GUID am Ende des Bucket-Namens verwendet.
Im folgenden AWS CLI-Beispiel wird ein Allzweck-Bucket in der Region USA West (Nordkalifornien) (us-west-1) mit einem Beispiel-Bucket-Namen erstellt, der eine GUID (Globally Unique Identifier) verwendet. Wenn Sie diesen Beispielbefehl verwenden möchten, ersetzen Sie durch Ihre Informationen.user input placeholders
aws s3api create-bucket \ --bucketamzn-s3-demo-bucket1$(uuidgen | tr -d - | tr '[:upper:]' '[:lower:]' ) \ --regionus-west-1\ --create-bucket-configuration LocationConstraint=us-west-1
Das folgende Beispiel zeigt Ihnen, wie Sie einen Bucket mit einer GUID am Ende des Bucket-Namens in der Region USA Ost (Nord-Virginia) (us-east-1) mithilfe von AWS SDK für Java erstellen. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die (Platzhalter für Benutzereingaben) durch Ihre Informationen. Weitere Informationen zur Verwendung anderer AWS-SDKs finden Sie unter Werkzeuge für AWSuser input placeholders
import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.Bucket; import com.amazonaws.services.s3.model.CreateBucketRequest; import java.util.List; import java.util.UUID; public class CreateBucketWithUUID { public static void main(String[] args) { final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build(); String bucketName = "amzn-s3-demo-bucket" + UUID.randomUUID().toString().replace("-", ""); CreateBucketRequest createRequest = new CreateBucketRequest(bucketName); System.out.println(bucketName); s3.createBucket(createRequest); } }