Dela via


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.

Begäran

Du kan skapa begäran på det Create Container sätt som visas här. Vi rekommenderar att du använder HTTPS. Namnet på containern får bara innehålla gemener och måste följa dessa namngivningsregler. I URL:en ersätter du myaccount med namnet på ditt lagringskonto.

Metod Begäran om URI HTTP-version
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1

Begäran om emulerad lagringstjänst

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 Begäran om URI 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 på begärande-URI:n.

Parameter Description
timeout Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder.

Förfrågningsrubriker

De obligatoriska och valfria begärandehuvudena beskrivs i följande tabell:

Förfrågningshuvudrad Description
Authorization Obligatoriskt. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage.
Date eller x-ms-date Obligatoriskt. 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. 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äsbehörighet 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. Ger ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggning 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 i 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.

Förfrågningshuvudrad Description
x-ms-default-encryption-scope Obligatoriskt. Krypteringsomfånget som ska anges som standard för containern.
x-ms-deny-encryption-scope-override Obligatoriskt. Värden är true eller false. Om du ställer in det här huvudet på säkerställer du true att varje blob som laddas upp till den här containern använder standardkrypteringsomfånget. När det här huvudet är falsekan en klient ladda upp en blob med ett annat krypteringsomfång än standardomfånget.

Viktigt!

Om en container har x-ms-deny-encryption-scope-override angetts till truetillåts inte uppdateringar av blobar som inte har något krypteringsomfång eller krypteringsnycklar som tillhandahålls av kunden i containern. Dessa blobar förblir läsbara och användarna kan flytta blobar från containern till en utan åsidosättningsprincip för krypteringsomfång för att utföra uppdateringar.

begäranens innehåll

Ingen.

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=  

Svar

Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.

Statuskod

En lyckad åtgärd returnerar statuskod 201 (skapad).

Mer information om statuskoder finns i Status- och felkoder.

Svarsrubriker

Svaret för den här åtgärden innehåller de rubriker som beskrivs i följande tabell. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. 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 behållaren senast ändrades. Datumformatet följer RFC 1123. Mer information finns i Representation av datum-/tidsvärden i rubriker.

Alla åtgärder som ändrar containern eller dess egenskaper eller metadata uppdaterar den senaste ändringstiden. Åtgärder på blobar påverkar inte containerns senaste ändringstid.
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 som görs mot version 2009-09-19 eller senare.
Date UTC-datum/tid-värdet som genereras av tjänsten, som anger den tid 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 den här rubriken är lika med värdet för x-ms-client-request-id rubriken om det finns i begäran och värdet inte innehåller fler än 1024 synliga ASCII-tecken. x-ms-client-request-id Om rubriken inte finns i begäran finns inte rubriken i svaret.

Svarsdel

Ingen.

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  

Authorization

Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt Create Container beskrivningen nedan.

Viktigt!

Microsoft rekommenderar att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering med delad nyckel.

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 Azure-hanterad identitet. Säkerhetsprincipen 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 hjälp av Microsoft Entra ID finns i Auktorisera åtkomst till blobar med hjälp av Microsoft Entra ID.

Permissions

Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra-användare, grupp, hanterad identitet eller tjänstens huvudnamn ska kunna anropa åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den Create Container här åtgärden:

Mer information om hur du tilldelar roller med hjälp av Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.

Anmärkningar

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. Konstruera 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 den anropas returnerar servern statuskod 409 (konflikt) och ger ytterligare felinformation som anger att containern tas bort.

Billing

Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via Blob Storage REST API eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner påförs till exempel till en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Create Container begäranden baserat på typen av lagringskonto:

Verksamhet Typ av lagringskonto Kategori för fakturering
Skapa container Premium-blockblob
Standard generell användning v2
Standard allmän användning v1
Åtgärderna Lista och Skapa container

Mer information om priser för den angivna faktureringskategorin finns i Priser för Azure Blob Storage.

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 ACL för container