Dela via


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-idoch 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 acquireoch 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:

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.

Diagram över containerlånetillstånd och utlösare för tillståndsändring.

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, releaseoch break.

  • Expiredhar lånetiden upphört att gälla. Tillåtna åtgärder: acquire, renew, releaseoch break.

  • Breakinghar lånet brutits, men lånet fortsätter att vara låst tills avbrottsperioden har gått ut. Tillåtna åtgärder: release och break.

  • Brokenhar lånet brutits och brytperioden har upphört att gälla. Tillåtna åtgärder: acquire, releaseoch break.

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