Container maken
Met Create Container
de bewerking wordt een nieuwe container gemaakt 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 doet voor de geëmuleerde opslagservice, geeft u de hostnaam en blobopslagpoort van de emulator 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. Zie Aanvragen voor Azure Storage autoriseren voor meer informatie. |
Date of x-ms-date |
Vereist. Hiermee geeft u de UTC-tijd (Coordinated Universal Time) voor de aanvraag op. Zie Aanvragen voor Azure Storage autoriseren 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 metagegevensnamen 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 een 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 de 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 standaardwaarde 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, het standaardversleutelingsbereik gebruikt. Wanneer 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, staat de ETag-waarde tussen aanhalingstekens. |
Last-Modified |
Retourneert de datum en tijd waarop de container voor het laatst is gewijzigd. De datumnotatie volgt RFC 1123. Zie Weergave van datum-/tijdwaarden 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 |
Uniek identificeert 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.
Belangrijk
Microsoft raadt aan Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen voor Azure Storage te autoriseren. Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met autorisatie van gedeelde sleutels.
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, beheerde identiteit 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:
- Azure RBAC-actie:Microsoft.Storage/storageAccounts/blobServices/containers/write
- Ingebouwde rol met minimale bevoegdheden:Inzender voor opslagblobgegevens
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 Creatie |
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