Lånecontainer
Åtgärden Lease Container
upprättar och hanterar ett lås på en container för borttagningsåtgärder. Låsets varaktighet kan vara mellan 15 och 60 sekunder eller oändlig.
Du kan anropa åtgärden Lease Container
i något av följande lägen:
Acquire
, för att begära ett nytt lån.Renew
, för att förnya ett befintligt lån.Change
, för att ändra ID:t för ett befintligt lån.Release
, för att frigöra lånet om det inte längre behövs, så att en annan klient omedelbart kan skaffa ett lån mot containern.Break
, för att avsluta lånet, men se till att en annan klient inte kan skaffa ett nytt lån förrän den aktuella låneperioden har upphört att gälla.
Anteckning
Åtgärden Lease Container
är tillgänglig i version 2012-02-12 och senare.
Förfrågan
Du kan skapa begäran på Lease Container
följande sätt. HTTPS rekommenderas. Ersätt myaccount med namnet på ditt lagringskonto.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?comp=lease&restype=container |
HTTP/1.1 |
Om du vill ange rotcontainern anger du $root
som containernamn.
Emulerad lagringstjänst-URI
När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Azure 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/mycontainer?comp=lease&restype=container |
HTTP/1.0 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 parameter i 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
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.
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 Coordinated Universal Time (UTC) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Valfritt. 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-lease-id: <ID> |
Krävs för att förnya, ändra eller frigöra lånet. Du kan ange värdet x-ms-lease-id för i valfritt giltigt GUID-strängformat. Se Guid-konstruktor (sträng) för en lista över giltiga format. |
x-ms-lease-action: <acquire ¦ renew ¦ change ¦ release ¦ break> |
acquire : Begär ett nytt lån. Om containern inte har något aktivt lån skapar Blob Storage ett lån för containern och returnerar ett nytt låne-ID. Om containern har ett aktivt lån kan du bara begära ett nytt lån med hjälp av det aktiva låne-ID:t. Du kan dock ange ett nytt x-ms-lease duration , inklusive negativt (-1) för ett lån som aldrig upphör att gälla.renew : Förnyar lånet. Du kan förnya lånet om låne-ID:t som anges på begäran matchar det som är associerat med containern. Observera att lånet kan förnyas även om det har upphört att gälla, så länge containern inte har hyrts igen sedan lånet löpte ut. När du förnyar ett lån återställs lånetiden.change : Ändra låne-ID för ett aktivt lån. Ett change måste innehålla aktuellt låne-ID i x-ms-lease-id och ett nytt låne-ID i x-ms-proposed-lease-id .release : Släpp lånet. Du kan frigöra lånet om låne-ID:t som anges på begäran matchar det som är associerat med containern. Om du släpper lånet kan en annan klient omedelbart hämta lånet för containern så snart versionen är klar.break : Avbryt lånet om containern har ett aktivt lån. När ett lån har brutits kan det inte förnyas. Alla auktoriserade begäranden kan avbryta lånet. Begäran krävs inte för att ange ett matchande låne-ID. När ett lån bryts tillåts låneperioden att förflutit. Du kan bara utföra break och release leasa åtgärder på containern under den här tiden. När ett lån har brutits anger svaret intervallet i sekunder tills ett nytt lån kan förvärvas.Ett lån som har brutits kan också frigöras. En klient kan omedelbart hämta ett containerlån som har släppts. |
x-ms-lease-break-period: N |
Valfritt. För en break åtgärd är det här huvudet den föreslagna varaktigheten som lånet ska fortsätta innan det bryts, mellan 0 och 60 sekunder. Den här brytperioden används bara om den är kortare än den tid som återstår för lånet. Om det är längre används den återstående tiden för lånet. Ett nytt lån kommer inte att vara tillgängligt innan brytperioden har gått ut, men lånet kan hållas längre än brytperioden. Om det här huvudet inte visas med en break åtgärd bryts ett lån med fast varaktighet efter att den återstående låneperioden har förflutit och ett oändligt lån bryts omedelbart. |
x-ms-lease-duration: -1 ¦ n seconds |
Krävs för acquire . Anger varaktigheten för lånet, i sekunder eller negativt (-1) för ett lån som aldrig upphör att gälla. Ett icke-oändligt lån kan vara mellan 15 och 60 sekunder. En lånetid kan inte ändras med hjälp renew av eller change . |
x-ms-proposed-lease-id: <ID> |
Valfritt för acquire och krävs för change . Föreslaget låne-ID i ett GUID-strängformat. Blob Storage returnerar 400 (Invalid request) om det föreslagna låne-ID:t inte har rätt format. Se Guid-konstruktor (sträng) för en lista över giltiga format. |
Origin |
Valfritt. Anger ursprunget från vilket begäran utfärdas. Förekomsten av det här huvudet resulterar i CORS-huvuden (cross-origin resource sharing) i svaret. Mer information finns i CORS-stöd för Lagringstjänster . |
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. |
Den här åtgärden stöder också användning av villkorsstyrda rubriker för att köra åtgärden endast om ett angivet villkor uppfylls. Mer information finns i Ange villkorsstyrda rubriker för Blob Storage-åtgärder.
Begärandetext
Inga.
Exempelbegäran
Följande exempelbegäran visar hur du skaffar ett lån:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=lease HTTP/1.1
Request Headers:
x-ms-version: 2012-02-12
x-ms-lease-action: acquire
x-ms-lease-duration: -1
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-date: Thu, 26 Jan 2012 23:30:18 GMT
Authorization: SharedKey testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
Svarsåtgärder
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
Statuskoderna för lyckade lån som returneras för låneåtgärder är följande:
Acquire
: En lyckad åtgärd returnerar statuskoden 201 (skapad).Renew
: En lyckad åtgärd returnerar statuskod 200 (OK).Change
: En lyckad åtgärd returnerar statuskod 200 (OK).Release
: En lyckad åtgärd returnerar statuskod 200 (OK).Break
: En lyckad åtgärd returnerar statuskod 202 (godkänd).
Information om statuskoder finns i Status och felkoder.
Svarshuvuden
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan även innehålla ytterligare STANDARD HTTP-huvuden. Alla standardhuvuden överensstämmer med http/1.1-protokollspecifikationen.
Syntax | Description |
---|---|
ETag |
ETag för containern. Det här huvudet returneras för begäranden som görs mot version 2013-08-15 och senare, och ETag värdet är inom citattecken.
Lease Container åtgärder som görs mot version 2013-08-15 och senare ändrar inte den här egenskapen, men tidigare versioner gör det. |
Last-Modified |
Returneras för begäranden som gjorts mot version 2013-08-15 och senare. Returnerar datum och tid då containern senast ändrades. Mer information finns i Representation of date-time values in headers (Representation av datum/tid-värden i rubriker). Alla åtgärder som ändrar containern, dess egenskaper eller metadata, uppdaterar den senaste ändrade tiden. Detta inkluderar att ange containerns behörigheter. Åtgärder på blobar påverkar inte den senaste ändringstiden för containern. Lease Container åtgärder som görs mot version 2013-08-15 och senare ändrar inte den här egenskapen, men tidigare versioner gör det. |
x-ms-lease-id: <id> |
När du begär ett lån returnerar Blob Storage ett unikt låne-ID. När lånet är aktivt måste du inkludera låne-ID:t med en begäran om att ta bort containern eller förnya, ändra eller frigöra lånet. En lyckad förnyelseåtgärd returnerar också låne-ID:t för det aktiva lånet. |
x-ms-lease-time: seconds |
Ungefärlig tid kvar i låneperioden, i sekunder. Det här huvudet returneras endast för en lyckad begäran om att avbryta lånet. Om pausen är omedelbar returneras 0. |
x-ms-request-id |
Det här huvudet identifierar unikt den begäran som har gjorts och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. |
x-ms-version |
Anger vilken version av Blob Storage 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 och senare. |
Date | Ett datum-/tidsvärde för UTC som anger den tid då svaret initierades. Tjänsten genererar det här värdet. |
Access-Control-Allow-Origin |
Returneras om begäran innehåller ett Origin huvud och CORS är aktiverat med en matchande regel. Den här rubriken returnerar värdet för ursprungsbegärandehuvudet vid en matchning. |
Access-Control-Expose-Headers |
Returneras om begäran innehåller ett Origin huvud och CORS är aktiverat med en matchande regel. Returnerar listan med svarshuvuden som ska exponeras för klienten eller utfärdaren av begäran. |
Access-Control-Allow-Credentials |
Returneras om begäran innehåller ett Origin huvud och CORS är aktiverat med en matchande regel som inte tillåter alla ursprung. Det här huvudet anges till true . |
x-ms-client-request-id |
Du kan använda det här huvudet för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id huvudet, om det finns i begäran. Värdet är högst 1 024 synliga ASCII-tecken. Om rubriken x-ms-client-request-id inte finns i begäran finns den inte i svaret. |
Själva svaret
Inga.
Exempelsvar
Följande är ett exempelsvar för en begäran om att skaffa ett lån:
Response Status:
HTTP/1.1 201 Created
Response Headers:
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402
x-ms-version: 2012-02-12
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
Date: Thu, 26 Jan 2012 23:30:18 GMT
Auktorisering
Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden Lease Container
enligt beskrivningen i följande avsnitt.
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 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 Storage.
Mer information om auktorisering med Microsoft Entra ID finns i Auktorisera åtkomst till blobar med hjälp av Microsoft Entra ID.
Behörigheter
Följande RBAC-åtgärder krävs för att en Microsoft Entra användare, grupp, hanterad identitet eller tjänstens huvudnamn ska anropa Lease 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
Ett lån på en container ger exklusiv borttagningsåtkomst till containern. Ett containerlån styr bara möjligheten att ta bort containern med hjälp av åtgärden Ta bort container . Om du vill ta bort en container med ett aktivt lån måste en klient inkludera det aktiva låne-ID:t med borttagningsbegäran. Om låne-ID:t inte ingår misslyckas åtgärden med 412 (Villkoret misslyckades). Alla andra containeråtgärder lyckas på en hyrd container, utan att inkludera låne-ID:t. Lånet beviljas för den tidsperiod som anges när lånet förvärvas, vilket kan vara mellan 15 och 60 sekunder eller en oändlig varaktighet.
När en klient skaffar ett lån returneras ett låne-ID. Blob Storage genererar ett låne-ID, om ett inte anges i begäran om att hämta. Klienten kan använda det här låne-ID:t för att förnya lånet, ändra sitt låne-ID eller frigöra lånet. Följande diagram visar möjliga tillstånd för ett lån och de kommandon eller händelser som orsakar ändringar i lånetillståndet.
Ett lån kan vara i ett av fem delstater, baserat på om lånet är låst eller olåst och om lånet kan förnyas i det tillståndet. Låneåtgärderna som visas i föregående diagram orsakar tillståndsövergångar.
Förnyelsestatus | Låst lån | Upplåst lån |
---|---|---|
Förnybart lån | Leasade | Upphörd |
Icke-förnybart lån | Bryta | Bruten, tillgänglig |
Available
är lånet upplåst och kan förvärvas. Tillåten åtgärd:acquire
.Leased
är lånet låst. Tillåtna åtgärder:acquire
(endast samma låne-ID),renew
,change
,release
ochbreak
.Expired
har lånetiden upphört att gälla. Tillåtna åtgärder:acquire
,renew
,release
ochbreak
.Breaking
har lånet brutits, men lånet fortsätter att vara låst tills avbrottsperioden har gått ut. Tillåtna åtgärder:release
ochbreak
.Broken
har lånet brutits och brytperioden har upphört att gälla. Tillåtna åtgärder:acquire
,release
ochbreak
.
Blob Storage behåller låne-ID:t när ett containerlån har upphört att gälla. En klient kan förnya eller frigöra lånet med sitt utgångna låne-ID. Om klienten försöker förnya eller släppa ett utgånget lån med sitt tidigare låne-ID, och begäran misslyckas, hyrdes containern igen eller togs bort eftersom klientens lån senast var aktivt.
Om ett lån upphör att gälla i stället för att uttryckligen frisläppas kan en klient behöva vänta upp till en minut innan ett nytt lån kan hämtas för containern. Klienten kan dock förnya lånet med det utgångna låne-ID:t omedelbart.
Containerns Last-Modified-Time
egenskap uppdateras inte av anrop till Lease Container
.
Följande tabeller visar resultatet av åtgärder för containrar med lån i olika lånetillstånd. Bokstäver (A), (B) och (C) representerar låne-ID:n och (X) representerar ett låne-ID som genereras av Blob Storage.
Utfall av användningsförsök för containrar efter lånetillstånd
Åtgärd | Tillgängligt | Leasad (A) | Icke-bakåtkompatibelt (A) | Bruten (A) | Har upphört att gälla (A) |
---|---|---|---|---|---|
Ta bort med (A) | Misslyckas (412) | Leasad (A), borttagningen lyckas | Icke-bakåtkompatibelt (A) och borttagningen lyckas | Misslyckas (412) | Misslyckas (412) |
Ta bort med (B) | Misslyckas (412) | Misslyckas (409) | Misslyckas (412) | Misslyckas (412) | Misslyckas (412) |
Ta bort, inget lån har angetts | Tillgänglig, borttagningen lyckas | Misslyckas (412) | Misslyckas (412) | Tillgänglig, borttagningen lyckas | Tillgänglig, borttagningen lyckas |
Andra åtgärder med (A) | Misslyckas (412) | Leasad (A), åtgärden lyckas | Icke-bakåtkompatibel (A) åtgärden lyckas | Misslyckas (412) | Misslyckas (412) |
Andra åtgärder med (B) | Misslyckas (412) | Misslyckas (409) | Misslyckas (409) | Misslyckas (412) | Misslyckas (412) |
Åtgärder, inget lån har angetts | Tillgänglig, åtgärden lyckas | Leasad (A), åtgärden lyckas | Icke-bakåtkompatibel (A) åtgärden lyckas | Bruten (A), åtgärden lyckas | Åtgärden har upphört att gälla (A) och lyckas |
Utfall av låneåtgärder för containrar efter lånetillstånd
Åtgärd | Tillgängligt | Leasad (A) | Icke-bakåtkompatibelt (A) | Bruten (A) | Har upphört att gälla (A) |
---|---|---|---|---|---|
Acquire , inget föreslaget låne-ID |
Leasad (X) | Misslyckas (409) | Misslyckas (409) | Leasad (X) | Leasad (X) |
Acquire (A) |
Leasad (A) | Hyrd (A), ny varaktighet | Misslyckas (409) | Leasad (A) | Leasad (A) |
Acquire (B) |
Leasad (B) | Misslyckas (409) | Misslyckas (409) | Leasad (B) | Leasad (B) |
Break , period=0 |
Misslyckas (409) | Bruten (A) | Bruten (A) | Bruten (A) | Bruten (A) |
Break , period>0 |
Misslyckas (409) | Icke-bakåtkompatibelt (A) | Icke-bakåtkompatibelt (A) | Bruten (A) | Bruten (A) |
Change , (A) till (B) |
Misslyckas (409) | Leasad (B) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |
Change , (B) till (A) |
Misslyckas (409) | Leasad (A) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |
Change , (B) till (C) |
Misslyckas (409) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |
Renew (A) |
Misslyckas (409) | Leasad (A), återställning av utgångsklocka | Misslyckas (409) | Misslyckas (409) | Leasad (A) |
Renew (B) |
Misslyckas (409) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |
Release (A) |
Misslyckas (409) | Tillgängligt | Tillgängligt | Tillgängligt | Tillgängligt |
Release (B) |
Misslyckas (409) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |
Varaktigheten upphör att gälla | Tillgängligt | Har upphört att gälla (A) | Bruten (A) | Bruten (A) | Har upphört att gälla (A) |
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 Lease Container
begäranden baserat på lagringskontotypen:
Åtgärd | Typ av lagringskonto | Faktureringskategori |
---|---|---|
Lånecontainer (hämta, släppa, förnya) | Premium-blockblob Standard generell användning v2 |
Andra åtgärder |
Lånecontainer (hämta, släppa, förnya) | Standard generell användning v1 | Läsåtgärder |
Lånecontainer (bryt, ändra) | Premium-blockblob Standard generell användning v2 |
Andra åtgärder |
Lånecontainer (bryt, ändra) | Standard generell användning v1 | Skrivå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
Låna blob