Container maken

Met de Create Container bewerking maakt u een nieuwe container onder het opgegeven account. Als de container met dezelfde naam al bestaat, mislukt de bewerking.

De containerresource bevat metagegevens en eigenschappen voor die container. Deze bevat geen lijst met de blobs in de container.

Aanvraag

U kunt de Create Container aanvraag samenstellen zoals hier wordt weergegeven. U wordt aangeraden HTTPS te gebruiken. De naam van uw container mag alleen kleine letters bevatten en moet voldoen aan deze naamgevingsregels. Vervang in de URL myaccount door de naam van uw opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1

Aanvraag voor geëmuleerde opslagservice

Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en blobopslagpoort op als 127.0.0.1:10000, gevolgd door de naam van het geëmuleerde opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container HTTP/1.1

Zie Use the Azurite emulator for local Azure Storage development (De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkeling) voor meer informatie.

URI-parameters

U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI.

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Blob Storage-bewerkingen voor meer informatie.

Aanvraagheaders

De vereiste en optionele aanvraagheaders worden beschreven in de volgende tabel:

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Hiermee geeft u de UTC-tijd (Coordinated Universal Time) voor de aanvraag op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Vereist voor alle geautoriseerde aanvragen. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-meta-name:value Optioneel. Een naam-waardepaar dat als metagegevens aan de container moet worden gekoppeld. Opmerking: vanaf versie 2009-09-19 moeten namen van metagegevens voldoen aan de naamgevingsregels voor C#-id's.
x-ms-blob-public-access Optioneel. Hiermee geeft u op of gegevens in de container openbaar toegankelijk zijn en het toegangsniveau. Mogelijke waarden zijn:

- container: hiermee geeft u volledige openbare leestoegang voor container- en blobgegevens op. Clients kunnen blobs in de container opsommen via een anonieme aanvraag, maar ze kunnen geen containers in het opslagaccount opsommen.
- blob: Hiermee geeft u openbare leestoegang voor blobs. Blobgegevens in deze container kunnen worden gelezen via anonieme aanvraag, maar containergegevens zijn niet beschikbaar. Clients kunnen geen blobs in de container opsommen via een anonieme aanvraag.

Als deze header niet is opgenomen in de aanvraag, zijn containergegevens privé voor de accounteigenaar.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Blob Storage bewaken voor meer informatie.

Aanvraagheaders (versleutelingsbereiken)

Vanaf versie 2019-02-02 kunt u de volgende headers opgeven voor een aanvraag om een standaardversleutelingsbereik in te stellen voor een container. Als u een versleutelingsbereik instelt, wordt dit automatisch gebruikt om alle blobs te versleutelen die naar de container worden geüpload.

Aanvraagheader Beschrijving
x-ms-default-encryption-scope Vereist. Het versleutelingsbereik dat moet worden ingesteld als de standaardinstelling voor de container.
x-ms-deny-encryption-scope-override Vereist. Waarden zijn true of false. Als u deze header instelt, true zorgt u ervoor dat elke blob die naar deze container wordt geüpload, gebruikmaakt van het standaardversleutelingsbereik. Als deze header is false, kan een client een blob uploaden met een ander versleutelingsbereik dan het standaardbereik.

Aanvraagbody

Geen.

Voorbeeldaanvraag

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=  

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

Een geslaagde bewerking retourneert statuscode 201 (Gemaakt).

Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord voor deze bewerking bevat de headers die in de volgende tabel worden beschreven. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Description
ETag De ETag voor de container. Als de aanvraagversie 2011-08-18 of hoger is, wordt de waarde ETag tussen aanhalingstekens geplaatst.
Last-Modified Retourneert de datum en tijd waarop de container voor het laatst is gewijzigd. De datumnotatie volgt RFC 1123. Zie Weergave van datum/tijd-waarden in kopteksten voor meer informatie.

Elke bewerking die de container of de eigenschappen of metagegevens wijzigt, wordt de laatste wijzigingstijd bijgewerkt. Bewerkingen op blobs hebben geen invloed op de laatste wijzigingstijd van de container.
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan. U kunt deze gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossen voor meer informatie
x-ms-version Geeft de Blob Storage-versie aan die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan op basis van versie 2009-09-19 of hoger.
Date De UTC-datum/tijd-waarde die is gegenereerd door de service, die het tijdstip aangeeft waarop het antwoord is gestart.
x-ms-client-request-id Kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header als deze aanwezig is in de aanvraag en de waarde niet meer dan 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is de header niet aanwezig in het antwoord.

Hoofdtekst van de reactie

Geen.

Voorbeeldantwoord

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  

Autorisatie

Autorisatie is vereist bij het aanroepen van een bewerking voor gegevenstoegang in Azure Storage. U kunt de Create Container bewerking autoriseren zoals hieronder wordt beschreven.

Azure Storage ondersteunt het gebruik van Microsoft Entra ID om aanvragen voor blobgegevens te autoriseren. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipal. De beveiligingsprincipal kan een gebruiker, groep, toepassingsservice-principal of door Azure beheerde identiteit zijn. De beveiligingsprincipal wordt geverifieerd door Microsoft Entra ID om een OAuth 2.0-token te retourneren. Het token kan vervolgens worden gebruikt om een aanvraag voor de Blob-service te autoriseren.

Zie Toegang tot blobs autoriseren met behulp van Microsoft Entra ID voor meer informatie over autorisatie met behulp van Microsoft Entra ID.

Machtigingen

Hieronder vindt u de RBAC-actie die nodig is voor een Microsoft Entra gebruiker, groep of service-principal om de Create Container bewerking aan te roepen, en de ingebouwde Azure RBAC-rol met de minste bevoegdheden die deze actie omvat:

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over het toewijzen van rollen met behulp van Azure RBAC.

Opmerkingen

Containers worden direct in het opslagaccount gemaakt. Het is niet mogelijk om een container in een andere container te nesten.

U kunt desgewenst een standaard- of hoofdcontainer voor uw opslagaccount maken. De hoofdcontainer maakt het mogelijk om te verwijzen naar een blob vanaf het hoogste niveau van de opslagaccounthiërarchie, zonder te verwijzen naar de containernaam.

Als u de hoofdcontainer wilt toevoegen aan uw opslagaccount, maakt u een container met de naam $root. Stel de aanvraag als volgt samen:

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=  

U kunt metagegevens voor een container opgeven wanneer u deze maakt door een of meer metagegevensheaders op te geven in de aanvraag. De indeling voor de metagegevensheader is x-ms-meta-name:value.

Als een container met dezelfde naam wordt verwijderd wanneer Create Container wordt aangeroepen, retourneert de server statuscode 409 (Conflict) en wordt aanvullende foutinformatie weergegeven die aangeeft dat de container wordt verwijderd.

Billing

Prijsaanvragen kunnen afkomstig zijn van clients die gebruikmaken van Blob Storage-API's, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Met deze aanvragen worden kosten per transactie in rekening gebracht. Het type transactie is van invloed op de manier waarop de rekening in rekening wordt gebracht. Leestransacties worden bijvoorbeeld toegevoegd aan een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Create Container aanvragen op basis van het type opslagaccount:

Bewerking Type opslagaccount Factureringscategorie
Container maken Premium-blok-blob
Standard v2 voor algemeen gebruik
Standard v1 voor algemeen gebruik
Containerbewerkingen weergeven en maken

Zie prijzen voor Azure Blob Storage voor meer informatie over prijzen voor de opgegeven factureringscategorie.

Zie ook

Aanvragen voor Azure Storage autoriseren
Status en foutcodes
Blob Storage-foutcodes
Containers, blobs en metagegevens een naam geven en ernaar verwijzen
Eigenschappen en metagegevens voor blob-resources instellen en ophalen
Container-ACL instellen