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 någon lista över blobarna i containern.

Förfrågan

Du kan skapa begäran enligt Create Container 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:10000fö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ärandehuvudena 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-tid (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 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 på en begäran för 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ärdena är true eller false. Om du anger det här huvudet till 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 falsekan 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 även 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 då containern senast ändrades. Datumformatet följer RFC 1123. Mer information finns i Representation of date/time values in headers (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 den senaste ändringstiden för containern.
x-ms-request-id Identifierar begäran som gjordes unikt. 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 Datum-/tidsvärdet UTC som genereras av tjänsten, vilket 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 det här huvudet är lika med värdet x-ms-client-request-id för huvudet om det finns i begäran och värdet inte innehåller fler än 1 024 synliga ASCII-tecken. x-ms-client-request-id Om rubriken inte finns i begäran visas inte huvudet 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.

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 av 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 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 Microsoft Entra ID.

Behörigheter

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 anropa Create Container åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som inkluderar den här åtgärden:

Mer information om hur du tilldelar roller med 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 lagringskontot skapar du en container med namnet $root. Skapa begäran enligt följande:

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 statuskoden 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 till exempel tillfaller 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