Skapa container
Åtgärden Create Container
skapar en ny container under det angivna kontot. Om containern med samma namn redan finns misslyckas åtgärden.
Containerresursen innehåller metadata och egenskaper för containern. Den innehåller inte en lista över blobarna i containern.
Förfrågan
Du kan skapa Create Container
begäran enligt nedan. Vi rekommenderar att du använder HTTPS. Namnet på containern kan bara innehålla gemener och måste följa dessa namngivningsregler. I URL:en ersätter du myaccount med namnet på ditt lagringskonto.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?restype=container |
HTTP/1.1 |
Emulerad lagringstjänstbegäran
När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Blob Storage-port som 127.0.0.1:10000
, följt av namnet på det emulerade lagringskontot.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
PUT |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container |
HTTP/1.1 |
Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.
URI-parametrar
Du kan ange följande ytterligare parametrar för begärande-URI:n.
Parameter | Beskrivning |
---|---|
timeout |
Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder. |
Begärandehuvuden
De obligatoriska och valfria begäranderubrikerna beskrivs i följande tabell:
Begärandehuvud | Beskrivning |
---|---|
Authorization |
Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date eller x-ms-date |
Krävs. Anger utc-tiden (Coordinated Universal Time) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Krävs för alla auktoriserade begäranden. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
x-ms-meta-name:value |
Valfritt. Ett namn/värde-par som ska associeras med containern som metadata. Obs! Från och med version 2009-09-19 måste metadatanamn följa namngivningsreglerna för C#-identifierare. |
x-ms-blob-public-access |
Valfritt. Anger om data i containern kan nås offentligt och åtkomstnivån. Möjliga värden är: - container : Anger fullständig offentlig läsåtkomst för container- och blobdata. Klienter kan räkna upp blobar i containern via anonym begäran, men de kan inte räkna upp containrar i lagringskontot.- blob: Anger offentlig läsåtkomst för blobar. Blobdata i den här containern kan läsas via anonym begäran, men containerdata är inte tillgängliga. Klienter kan inte räkna upp blobar i containern via anonym begäran.Om det här huvudet inte ingår i begäran är containerdata privata för kontoägaren. |
x-ms-client-request-id |
Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggningen har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Blob Storage. |
Begärandehuvuden (krypteringsomfång)
Från och med version 2019-02-02 kan du ange följande rubriker på en begäran om att ange ett standardkrypteringsomfång för en container. Om du anger ett krypteringsomfång används det automatiskt för att kryptera alla blobar som laddas upp till containern.
Begärandehuvud | Beskrivning |
---|---|
x-ms-default-encryption-scope |
Krävs. Krypteringsomfånget som ska anges som standard för containern. |
x-ms-deny-encryption-scope-override |
Krävs. Värden är true eller false . Om du anger det här huvudet ser du till true att alla blobar som laddas upp till den här containern använder standardkrypteringsomfånget. När det här huvudet är false kan en klient ladda upp en blob med ett annat krypteringsomfång än standardomfånget. |
Begärandetext
Inga.
Exempelbegäran
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=
Svarsåtgärder
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
En lyckad åtgärd returnerar statuskoden 201 (skapad).
Information om statuskoder finns i Status och felkoder.
Svarshuvuden
Svaret för den här åtgärden innehåller rubrikerna som beskrivs i följande tabell. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Svarsrubrik | Description |
---|---|
ETag |
ETag för containern. Om begärandeversionen är 2011-08-18 eller senare omges ETag-värdet av citattecken. |
Last-Modified |
Returnerar datum och tid när containern senast ändrades. Datumformatet följer RFC 1123. Mer information finns i Representation of date/time values in headers (Representation av datum/tid-värden i sidhuvuden). Alla åtgärder som ändrar containern eller dess egenskaper eller metadata uppdaterar den senaste ändrade tiden. Åtgärder på blobar påverkar inte den senaste ändrade tiden för containern. |
x-ms-request-id |
Identifierar unikt den begäran som gjordes. Du kan använda den för att felsöka begäran. Mer information finns i Felsöka API-åtgärder |
x-ms-version |
Anger den Blob Storage-version som används för att köra begäran. Det här huvudet returneras för begäranden mot version 2009-09-19 eller senare. |
Date |
UTC-datum/tid-värdet som genereras av tjänsten, vilket anger den tidpunkt då svaret initierades. |
x-ms-client-request-id |
Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet x-ms-client-request-id för rubriken om det finns i begäran och värdet inte innehåller fler än 1 024 synliga ASCII-tecken. Om rubriken x-ms-client-request-id inte finns i begäran kommer huvudet inte att finnas i svaret. |
Själva svaret
Inga.
Exempelsvar
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
Auktorisering
Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt beskrivningen Create Container
nedan.
Azure Storage stöder användning av Microsoft Entra ID för att auktorisera begäranden till blobdata. Med Microsoft Entra ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Säkerhetsobjektet kan vara en användare, grupp, programtjänstens huvudnamn eller en hanterad Azure-identitet. Säkerhetsobjektet autentiseras av Microsoft Entra ID för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Blob-tjänsten.
Mer information om auktorisering med Microsoft Entra ID finns i Auktorisera åtkomst till blobar med hjälp av Microsoft Entra ID.
Behörigheter
Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra användare, grupp eller tjänstens huvudnamn ska kunna anropa Create Container
åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den här åtgärden:
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/write
- Minsta privilegierade inbyggda roll:Storage Blob Data-deltagare
Mer information om hur du tilldelar roller med hjälp av Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.
Kommentarer
Containrar skapas omedelbart i lagringskontot. Det går inte att kapsla en container i en annan.
Du kan också skapa en standard- eller rotcontainer för ditt lagringskonto. Rotcontainern gör det möjligt att referera till en blob från den översta nivån i lagringskontohierarkin, utan att referera till containernamnet.
Om du vill lägga till rotcontainern i ditt lagringskonto skapar du en container med namnet $root
. Skapa begäran på följande sätt:
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=
Du kan ange metadata för en container när du skapar den genom att inkludera en eller flera metadatahuvuden i begäran. Formatet för metadatahuvudet är x-ms-meta-name:value
.
Om en container med samma namn tas bort när Create Container
anropas returnerar servern statuskod 409 (konflikt) och den innehåller ytterligare felinformation som anger att containern tas bort.
Fakturering
Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via REST-API:et för Blob Storage eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner ackumuleras till exempel till en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Create Container
begäranden baserat på lagringskontotypen:
Åtgärd | Typ av lagringskonto | Faktureringskategori |
---|---|---|
Skapa container | Premium-blockblob Standard generell användning v2 Standard generell användning v1 |
Lista och skapa containeråtgärder |
Mer information om priser för den angivna faktureringskategorin finns i Azure Blob Storage Prissättning.
Se även
Auktorisera begäranden till Azure Storage
Status- och felkoder
Felkoder för Blob Storage
Namn- och referenscontainrar, blobar och metadata
Ange och hämta egenskaper och metadata för blobresurser
Ange container-ACL