Create Container
Der Create Container
-Vorgang erstellt einen neuen Container unter dem angegebenen Konto. Wenn ein Container mit demselben Namen bereits vorhanden ist, schlägt der Vorgang fehl.
Die Containerressource enthält Metadaten und Eigenschaften für den betreffenden Container. Es enthält keine Liste der Blobs im Container.
Anforderung
Sie können die Create Container
Anforderung wie hier gezeigt erstellen. Es wird empfohlen, HTTPS zu verwenden. Der Name Ihres Containers darf nur Kleinbuchstaben enthalten und muss diesen Benennungsregeln entsprechen. Ersetzen Sie in der URL myaccount durch den Namen Ihres Speicherkontos.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?restype=container |
HTTP/1.1 |
Emulierte Speicherdienstanforderung
Wenn Sie eine Anforderung für den emulierten Speicherdienst stellen, geben Sie den Hostnamen des Emulators und den Blob Storage-Port als 127.0.0.1:10000
an, gefolgt vom Namen des emulierten Speicherkontos.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container |
HTTP/1.1 |
Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für lokale Azure Storage-Entwicklung.
URI-Parameter
Sie können die folgenden zusätzlichen Parameter für den Anforderungs-URI angeben.
Parameter | BESCHREIBUNG |
---|---|
timeout |
Optional. Der timeout -Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob Storage-Vorgänge. |
Anforderungsheader
Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date oder x-ms-date |
Erforderlich. Gibt die Uhrzeit der Anforderung in koordinierter Weltzeit (UTC) an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Erforderlich für alle autorisierten Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste. |
x-ms-meta-name:value |
Optional. Ein Name-Wert-Paar, das dem Container als Metadaten zugeordnet wird. Hinweis: Ab Version 2009-09-19 müssen Metadatennamen den Benennungsregeln für C#-Bezeichner entsprechen. |
x-ms-blob-public-access |
Optional. Gibt an, ob auf Daten im Container öffentlich zugegriffen werden kann und welche Zugriffsebene es gibt. Mögliche Werte sind: - container : Gibt den vollständigen öffentlichen Lesezugriff für Container- und Blobdaten an. Clients können Blobs innerhalb des Containers über eine anonyme Anforderung aufzählen, aber keine Container innerhalb des Speicherkontos auflisten.- blob: Gibt den öffentlichen Lesezugriff für Blobs an. Blobdaten in diesem Container können über eine anonyme Anforderung gelesen werden, Containerdaten sind jedoch nicht verfügbar. Clients können Blobs innerhalb des Containers nicht über eine anonyme Anforderung aufzählen.Wenn dieser Header nicht in der Anforderung enthalten ist, sind Containerdaten für den Kontobesitzer privat. |
x-ms-client-request-id |
Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der beim Konfigurieren der Protokollierung in den Protokollen aufgezeichnet wird. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen Azure Blob Storage. |
Anforderungsheader (Verschlüsselungsbereiche)
Ab Version 2019-02-02 können Sie die folgenden Header für eine Anforderung angeben, um einen Standardverschlüsselungsbereich für einen Container festzulegen. Wenn Sie einen Verschlüsselungsbereich festlegen, wird er automatisch verwendet, um alle Blobs zu verschlüsseln, die in den Container hochgeladen werden.
Anforderungsheader | BESCHREIBUNG |
---|---|
x-ms-default-encryption-scope |
Erforderlich. Der Verschlüsselungsbereich, der als Standard für den Container festgelegt werden soll. |
x-ms-deny-encryption-scope-override |
Erforderlich. Die verfügbaren Werte sind true oder false . Durch Festlegen dieses Headers wird true sichergestellt, dass für jedes Blob, das in diesen Container hochgeladen wird, der Standardverschlüsselungsbereich verwendet wird. Wenn dieser Header lautet false , kann ein Client ein Blob mit einem anderen Verschlüsselungsbereich als dem Standardbereich hochladen. |
Anforderungstext
Keine.
Beispiel für eine Anforderung
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1
Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT
x-ms-meta-Name: StorageSample
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=
Antwort
Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.
Statuscode
Bei einem erfolgreichen Vorgang wird der Statuscode 201 (Erstellt) zurückgegeben.
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang umfasst die Header, die in der folgenden Tabelle beschrieben werden. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Antwortheader | BESCHREIBUNG |
---|---|
ETag |
Das ETag für den Container. Wenn die Anforderungsversion 2011-08-18 oder höher ist, wird der ETag-Wert in Anführungszeichen eingeschlossen. |
Last-Modified |
Gibt das Datum und die Uhrzeit der letzten Änderung des Containers zurück. Das Datumsformat entspricht RFC 1123. Weitere Informationen finden Sie unter Darstellung von Datums-/Uhrzeitwerten in Headern. Bei jedem Vorgang, durch den der Container, seine Eigenschaften oder seine Metadaten geändert werden, wird der Zeitpunkt der letzten Änderung aktualisiert. Vorgänge für BLOBs sind ohne Auswirkung auf den Zeitpunkt der letzten Änderung des Containers. |
x-ms-request-id |
Identifiziert eindeutig die Anforderung, die gestellt wurde. Sie können es verwenden, um die Problembehandlung für die Anforderung zu beheben. Weitere Informationen finden Sie unter Problembehandlung bei API-Vorgängen. |
x-ms-version |
Gibt die Blob Storage-Version an, die zum Ausführen der Anforderung verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die ab Version 2009-09-19 gestellt werden. |
Date |
Der vom Dienst generierte UTC-Datums-/Uhrzeitwert, der den Zeitpunkt angibt, zu dem die Antwort initiiert wurde. |
x-ms-client-request-id |
Kann verwendet werden, um Anforderungen und entsprechende Antworten zu behandeln. Der Wert dieses Headers entspricht dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist, und der Wert enthält nicht mehr als 1024 sichtbare ASCII-Zeichen. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist der Header in der Antwort nicht vorhanden. |
Antworttext
Keine.
Beispiel für eine Antwort
Response status:
HTTP/1.1 201 Created
Response headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 23:00:12 GMT
ETag: “0x8CB14C3E29B7E82”
Last-Modified: Sun, 25 Sep 2011 23:00:06 GMT
x-ms-version: 2011-08-18
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Authorization
Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den Create Container
Vorgang wie unten beschrieben autorisieren.
Wichtig
Microsoft empfiehlt die Verwendung Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Microsoft Entra ID bietet im Vergleich zur Autorisierung mit gemeinsam genutzten Schlüsseln überlegene Sicherheit und Benutzerfreundlichkeit.
Azure Storage unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen an Blobdaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung (Azure RBAC) von Azure verwenden, um einem Sicherheitsprinzipal Berechtigungen zu erteilen. Der Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Azure-Identität sein. Der Sicherheitsprinzipal wird von Microsoft Entra ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann anschließend zum Autorisieren einer Anforderung an den Blob-Dienst verwendet werden.
Weitere Informationen zur Autorisierung mit Microsoft Entra ID finden Sie unter Autorisieren des Zugriffs auf Blobs mit Microsoft Entra ID.
Berechtigungen
Nachfolgend sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, Gruppe, verwaltete Identität oder Dienstprinzipal erforderlich ist, um den Create Container
Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:
- Azure RBAC-Aktion:Microsoft.Storage/storageAccounts/blobServices/containers/write
- Integrierte Rolle mit den geringsten Berechtigungen:Mitwirkender für Speicherblobdaten
Weitere Informationen zum Zuweisen von Rollen mithilfe von Azure RBAC finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.
Hinweise
Container werden sofort innerhalb des Speicherkontos erstellt. Es ist nicht möglich, einen Container in einem anderen zu verschachteln.
Sie können optional einen Standard- oder Stammcontainer für Ihr Speicherkonto erstellen. Der Stammcontainer ermöglicht es, auf ein BLOB von der obersten Ebene der Hierarchie des Speicherkontos zu verweisen, ohne dass dabei auf den Containernamen verwiesen wird.
Erstellen Sie einen Container mit dem Namen $root
, um den Stammcontainer dem Speicherkonto hinzuzufügen. Bauen Sie die Anforderung wie folgt auf:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1
Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT
x-ms-meta-Name: StorageSample
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=
Sie können Metadaten für einen Container angeben, wenn Sie ihn erstellen, indem Sie einen oder mehrere Metadatenheader in die Anforderung einschließen. Das Format für den Metadatenheader ist x-ms-meta-name:value
.
Wenn ein Container mit demselben Namen beim Create Container
Aufruf gelöscht wird, gibt der Server status Code 409 (Konflikt) zurück und stellt zusätzliche Fehlerinformationen bereit, die angibt, dass der Container gelöscht wird.
Abrechnung
Preisanforderungen können von Clients stammen, die Blob Storage-APIs verwenden, entweder direkt über die Blob Storage-REST-API oder aus einer Azure Storage-Clientbibliothek. Für diese Anforderungen fallen Gebühren pro Transaktion an. Die Art der Transaktion wirkt sich auf die Belastung des Kontos aus. Beispielsweise werden Lesetransaktionen in eine andere Abrechnungskategorie als das Schreiben von Transaktionen angewendet. Die folgende Tabelle zeigt die Abrechnungskategorie für Create Container
Anforderungen basierend auf dem Speicherkontotyp:
Vorgang | Speicherkontotyp | Abrechnungskategorie |
---|---|---|
Create Container | Premium, Blockblob Standard „Allgemein v2“ Standard „Allgemein v1“ |
Auflisten und Create Containervorgänge |
Weitere Informationen zu Preisen für die angegebene Abrechnungskategorie finden Sie unter Azure Blob Storage Preise.
Weitere Informationen
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes
Blob Storage-Fehlercodes
Name und Verweiscontainer, Blobs und Metadaten
Festlegen und Abrufen von Eigenschaften und Metadaten für Blobressourcen
Set Container ACL