Leasecontainer

De Lease Container bewerking brengt een vergrendeling van een container tot stand en beheert deze voor verwijderingsbewerkingen. De vergrendelingsduur kan 15 tot 60 seconden of oneindig zijn.

U kunt de Lease Container bewerking aanroepen in een van de volgende modi:

  • Acquireom een nieuwe lease aan te vragen.

  • Renew, om een bestaande lease te vernieuwen.

  • Changeom de id van een bestaande lease te wijzigen.

  • Release, om de lease vrij te maken als deze niet meer nodig is, zodat een andere client onmiddellijk een lease voor de container kan verkrijgen.

  • Breakom de lease te beëindigen, maar ervoor te zorgen dat een andere client geen nieuwe lease kan verkrijgen totdat de huidige leaseperiode is verlopen.

Notitie

De Lease Container bewerking is beschikbaar in versie 2012-02-12 en hoger.

Aanvraag

U kunt de Lease Container aanvraag als volgt samenstellen. HTTPS wordt aanbevolen. Vervang myaccount door de naam van uw opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT https://myaccount.blob.core.windows.net/mycontainer?comp=lease&restype=container HTTP/1.1

Als u de hoofdcontainer wilt opgeven, voert u $root in als de containernaam.

Geëmuleerde opslagservice-URI

Wanneer u een aanvraag doet voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en Azure Blob Storage poort op als 127.0.0.1:10000, gevolgd door de naam van het geëmuleerde opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT http://127.0.0.1:10000/mycontainer?comp=lease&restype=container HTTP/1.0

HTTP/1.1

Zie Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkeling voor meer informatie.

URI-parameters

U kunt de volgende aanvullende parameter opgeven voor de aanvraag-URI.

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Blob Storage-bewerkingen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven.

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Optioneel. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-lease-id: <ID> Vereist voor het verlengen, wijzigen of vrijgeven van de lease.

U kunt de waarde van x-ms-lease-id opgeven in elke geldige GUID-tekenreeksindeling. Zie Guid Constructor (String) voor een lijst met geldige notaties.
x-ms-lease-action: <acquire ¦ renew ¦ change ¦ release ¦ break> acquire: Hiermee wordt een nieuwe lease aangevraagd. Als de container geen actieve lease heeft, maakt Blob Storage een lease voor de container en retourneert een nieuwe lease-id. Als de container een actieve lease heeft, kunt u alleen een nieuwe lease aanvragen met behulp van de actieve lease-id. U kunt echter een nieuwe x-ms-lease durationopgeven, inclusief een negatieve (-1) voor een lease die nooit verloopt.

renew: vernieuwt de lease. U kunt de lease verlengen als de lease-id die in de aanvraag is opgegeven, overeenkomt met de lease-id die is gekoppeld aan de container. Houd er rekening mee dat de lease kan worden verlengd, zelfs als deze is verlopen, zolang de container niet opnieuw is geleased sinds het verlopen van die lease. Wanneer u een lease verlengt, wordt de klok van de leaseduur opnieuw ingesteld.

change: Wijzig de lease-id van een actieve lease. Een change moet de huidige lease-id in x-ms-lease-idbevatten en een nieuwe lease-id in x-ms-proposed-lease-id.

release: laat de lease los. U kunt de lease vrijgeven als de lease-id die is opgegeven in de aanvraag overeenkomt met de lease-id die is gekoppeld aan de container. Door de lease vrij te geven, kan een andere client onmiddellijk de lease voor de container verkrijgen zodra de release is voltooid.

break: verbreek de lease als de container een actieve lease heeft. Nadat een lease is verbroken, kan deze niet worden verlengd. Elke geautoriseerde aanvraag kan de lease verbreken. De aanvraag is niet vereist om een overeenkomende lease-id op te geven. Wanneer een lease wordt verbroken, mag de lease-onderbrekingsperiode verlopen. U kunt in deze periode alleen bewerkingen uitvoeren break en release leasen op de container. Wanneer een lease is verbroken, geeft het antwoord het interval in seconden aan totdat een nieuwe lease kan worden verkregen.

Een gebroken lease kan ook worden vrijgegeven. Een client kan onmiddellijk een containerlease verkrijgen die is vrijgegeven.
x-ms-lease-break-period: N Optioneel. Voor een break bewerking is deze header de voorgestelde duur die de lease moet voortzetten voordat deze wordt verbroken, tussen 0 en 60 seconden. Deze onderbrekingsperiode wordt alleen gebruikt als deze korter is dan de resterende tijd van de lease. Indien langer, wordt de resterende tijd van de lease gebruikt. Er is geen nieuwe lease beschikbaar voordat de onderbrekingsperiode is verstreken, maar de lease kan langer worden vastgehouden dan de onderbrekingsperiode. Als deze header niet wordt weergegeven met een break bewerking, wordt een lease met vaste duur beëindigd nadat de resterende leaseperiode is verstreken en wordt een oneindige lease onmiddellijk verbroken.
x-ms-lease-duration: -1 ¦ n seconds Vereist voor acquire. Hiermee geeft u de duur van de lease op, in seconden, of negatief (-1) voor een lease die nooit verloopt. Een niet-oneindige lease kan tussen 15 en 60 seconden duren. Een leaseduur kan niet worden gewijzigd met behulp van renew of change.
x-ms-proposed-lease-id: <ID> Optioneel voor acquireen vereist voor change. Voorgestelde lease-id, in een GUID-tekenreeksindeling. Blob Storage retourneert 400 (Invalid request) als de voorgestelde lease-id niet de juiste indeling heeft. Zie Guid Constructor (String) voor een lijst met geldige notaties.
Origin Optioneel. Hiermee geeft u de oorsprong op van waaruit de aanvraag wordt uitgegeven. De aanwezigheid van deze header resulteert in CORS-headers (Cross-Origin Resource Sharing) in het antwoord. Zie CORS-ondersteuning voor de opslagservices voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Blob Storage bewaken voor meer informatie.

Deze bewerking ondersteunt ook het gebruik van voorwaardelijke headers om de bewerking alleen uit te voeren als aan een opgegeven voorwaarde wordt voldaan. Zie Voorwaardelijke headers opgeven voor Blob Storage-bewerkingen voor meer informatie.

Aanvraagbody

Geen.

Voorbeeldaanvraag

De volgende voorbeeldaanvraag laat zien hoe u een lease kunt verkrijgen:

  
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=  
  

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

De geslaagde statuscodes die worden geretourneerd voor leasebewerkingen zijn de volgende:

  • Acquire: een geslaagde bewerking retourneert statuscode 201 (gemaakt).

  • Renew: Een geslaagde bewerking retourneert statuscode 200 (OK).

  • Change: Een geslaagde bewerking retourneert statuscode 200 (OK).

  • Release: Een geslaagde bewerking retourneert statuscode 200 (OK).

  • Break: Een geslaagde bewerking retourneert statuscode 202 (Geaccepteerd).

Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra, standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Syntax Description
ETag De ETag voor de container. Deze header wordt geretourneerd voor aanvragen die zijn gedaan in versie 2013-08-15 en hoger, en de ETag waarde staat tussen aanhalingstekens. Lease Container bewerkingen die zijn uitgevoerd op basis van versie 2013-08-15 en hoger, wijzigen deze eigenschap niet, maar eerdere versies wel.
Last-Modified Geretourneerd voor aanvragen die zijn gedaan op basis van versie 2013-08-15 en hoger. Retourneert de datum en tijd waarop de container voor het laatst is gewijzigd. Zie Weergave van datum-tijdwaarden in kopteksten voor meer informatie.

Elke bewerking die de container of de eigenschappen of metagegevens wijzigt, werkt het tijdstip van de laatste wijziging bij. Dit omvat het instellen van de machtigingen van de container. Bewerkingen op blobs hebben geen invloed op het tijdstip van de laatste wijziging van de container. Lease Container bewerkingen die zijn uitgevoerd op basis van versie 2013-08-15 en hoger, wijzigen deze eigenschap niet, maar eerdere versies wel.
x-ms-lease-id: <id> Wanneer u een lease aanvraagt, retourneert Blob Storage een unieke lease-id. Zolang de lease actief is, moet u de lease-id opnemen bij elke aanvraag om de container te verwijderen of om de lease te verlengen, te wijzigen of vrij te geven.

Een geslaagde verlengingsbewerking retourneert ook de lease-id voor de actieve lease.
x-ms-lease-time: seconds Geschatte resterende tijd in de leaseperiode, in seconden. Deze header wordt alleen geretourneerd voor een geslaagde aanvraag om de lease te verbreken. Als de onderbreking onmiddellijk is, wordt 0 geretourneerd.
x-ms-request-id Deze header identificeert op unieke wijze de aanvraag die is gedaan en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van Blob Storage aan die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan op basis van versie 2009-09-19 en hoger.
Date Een UTC-datum/tijd-waarde die de tijd aangeeft waarop het antwoord is gestart. De service genereert deze waarde.
Access-Control-Allow-Origin Wordt geretourneerd als de aanvraag een Origin header bevat en CORS is ingeschakeld met een overeenkomende regel. Deze header retourneert de waarde van de aanvraagheader van de oorsprong in het geval van een overeenkomst.
Access-Control-Expose-Headers Wordt geretourneerd als de aanvraag een Origin header bevat en CORS is ingeschakeld met een overeenkomende regel. Retourneert de lijst met antwoordheaders die moeten worden weergegeven voor de client of verlener van de aanvraag.
Access-Control-Allow-Credentials Wordt geretourneerd als de aanvraag een Origin header bevat en CORS is ingeschakeld met een overeenkomende regel die niet alle origins toestaat. Deze header wordt ingesteld op true.
x-ms-client-request-id U kunt deze header gebruiken om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header, als deze aanwezig is in de aanvraag. De waarde is maximaal 1024 zichtbare ASCII-tekens. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze niet aanwezig in het antwoord.

Hoofdtekst van de reactie

Geen.

Voorbeeldantwoord

Hier volgt een voorbeeldantwoord voor een aanvraag voor het verkrijgen van een lease:

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  
  

Autorisatie

Autorisatie is vereist wanneer u een bewerking voor gegevenstoegang in Azure Storage aanroept. U kunt de Lease Container bewerking autoriseren zoals beschreven in de volgende secties.

Azure Storage ondersteunt het gebruik van Microsoft Entra ID om aanvragen voor blobgegevens te autoriseren. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipal. De beveiligingsprincipal kan een gebruiker, groep, toepassingsservice-principal of door Azure beheerde identiteit zijn. De beveiligingsprincipal wordt geverifieerd door Microsoft Entra ID om een OAuth 2.0-token te retourneren. Het token kan vervolgens worden gebruikt om een aanvraag voor Blob Storage te autoriseren.

Zie Toegang tot blobs autoriseren met behulp van Microsoft Entra ID voor meer informatie over autorisatie met behulp van Microsoft Entra ID.

Machtigingen

De volgende RBAC-acties zijn nodig voor een Microsoft Entra gebruiker, groep of service-principal om de Lease Container bewerking aan te roepen, en de ingebouwde Azure RBAC-rol met de minste bevoegdheden die deze actie omvat:

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over het toewijzen van rollen met behulp van Azure RBAC.

Opmerkingen

Een lease voor een container biedt exclusieve verwijderingstoegang tot de container. Een containerlease bepaalt alleen de mogelijkheid om de container te verwijderen met behulp van de bewerking Container verwijderen . Als u een container met een actieve lease wilt verwijderen, moet een client de actieve lease-id bij de verwijderingsaanvraag opnemen. Als de lease-id niet is opgenomen, mislukt de bewerking met 412 (Voorwaarde is mislukt). Alle andere containerbewerkingen worden uitgevoerd op een leasecontainer, zonder de lease-id op te hoeven inbegrepen. De lease wordt verleend voor de duur die is opgegeven wanneer de lease wordt verkregen, die tussen 15 en 60 seconden of een oneindige duur kan zijn.

Wanneer een klant een lease verkrijgt, wordt een lease-id geretourneerd. Blob Storage genereert een lease-id, als deze niet is opgegeven in de aanvraag voor verkrijgen. De client kan deze lease-id gebruiken om de lease te verlengen, de lease-id te wijzigen of de lease vrij te geven. In het volgende diagram ziet u de mogelijke statussen van een lease en de opdrachten of gebeurtenissen die wijzigingen in de leasestatus veroorzaken.

Diagram van leasestatussen van containers en triggers voor statuswijziging.

Een lease kan een van de vijf statussen hebben, afhankelijk van of de lease is vergrendeld of ontgrendeld en of de lease in die status kan worden verlengd. De leaseacties die in het voorgaande diagram worden weergegeven, veroorzaken statusovergangen.

Verlengingsstatus Vergrendelde lease Ontgrendelde lease
Hernieuwbare lease Geleasd Verlopen
Niet-hernieuwbare lease Breken Defect, beschikbaar
  • Available, wordt de lease ontgrendeld en kan worden verkregen. Toegestane actie: acquire.

  • Leased, is de lease vergrendeld. Toegestane acties: acquire (alleen dezelfde lease-id), renew, change, releaseen break.

  • Expired, is de leaseduur verlopen. Toegestane acties: acquire, renew, releaseen break.

  • Breaking, is de lease verbroken, maar de lease blijft vergrendeld totdat de onderbrekingsperiode is verlopen. Toegestane acties: release en break.

  • Broken, de lease is verbroken en de onderbrekingsperiode is verlopen. Toegestane acties: acquire, releaseen break.

Blob Storage behoudt de lease-id nadat een containerlease is verlopen. Een client kan de lease verlengen of vrijgeven met behulp van de verlopen lease-id. Als de client een verlopen lease met de vorige lease-id probeert te vernieuwen of vrij te geven en de aanvraag mislukt, is de container opnieuw geleased of verwijderd omdat de lease van de client voor het laatst actief was.

Als een lease verloopt in plaats van expliciet te worden vrijgegeven, moet een client mogelijk tot één minuut wachten voordat een nieuwe lease voor de container kan worden verkregen. De client kan de lease echter onmiddellijk vernieuwen met de verlopen lease-id.

De eigenschap van de Last-Modified-Time container wordt niet bijgewerkt door aanroepen naar Lease Container.

In de volgende tabellen ziet u de resultaten van acties op containers met leases in verschillende leasestatussen. Letters (A), (B) en (C) vertegenwoordigen lease-id's en (X) vertegenwoordigt een lease-id die wordt gegenereerd door Blob Storage.

Resultaten van gebruikspogingen voor containers per leasestatus

Actie Beschikbaar Geleased (A) Brekend (A) Gebroken (A) Verlopen (A)
Verwijderen met (A) Mislukt (412) Geleased (A), verwijderen is geslaagd Fouten maken (A), verwijderen is geslaagd Mislukt (412) Mislukt (412)
Verwijderen met (B) Mislukt (412) Mislukt (409) Mislukt (412) Mislukt (412) Mislukt (412)
Verwijderen, geen lease opgegeven Beschikbaar, verwijderen is geslaagd Mislukt (412) Mislukt (412) Beschikbaar, verwijderen is geslaagd Beschikbaar, verwijderen is geslaagd
Andere bewerkingen met (A) Mislukt (412) Geleased (A), bewerking is geslaagd Breken (A), bewerking is geslaagd Mislukt (412) Mislukt (412)
Andere bewerkingen met (B) Mislukt (412) Mislukt (409) Mislukt (409) Mislukt (412) Mislukt (412)
Bewerkingen, geen lease opgegeven Beschikbaar, bewerking slaagt Geleased (A), bewerking is geslaagd Breken (A), bewerking is geslaagd Verbroken (A), is de bewerking geslaagd Verlopen (A), de bewerking is voltooid

Resultaten van leasebewerkingen op containers per leasestatus

Actie Beschikbaar Geleased (A) Brekend (A) Gebroken (A) Verlopen (A)
Acquire, geen voorgestelde lease-id Geleased (X) Mislukt (409) Mislukt (409) Geleased (X) Geleased (X)
Acquire (A) Geleased (A) Geleased (A), nieuwe duur Mislukt (409) Geleased (A) Geleased (A)
Acquire (B) Geleased (B) Mislukt (409) Mislukt (409) Geleased (B) Geleased (B)
Break, punt =0 Mislukt (409) Gebroken (A) Gebroken (A) Gebroken (A) Gebroken (A)
Break, punt>0 Mislukt (409) Brekend (A) Brekend (A) Gebroken (A) Gebroken (A)
Change, (A) tot (B) Mislukt (409) Geleased (B) Mislukt (409) Mislukt (409) Mislukt (409)
Change, (B) tot (A) Mislukt (409) Geleased (A) Mislukt (409) Mislukt (409) Mislukt (409)
Change, (B) tot (C) Mislukt (409) Mislukt (409) Mislukt (409) Mislukt (409) Mislukt (409)
Renew (A) Mislukt (409) Geleased (A), verloopklok opnieuw instellen Mislukt (409) Mislukt (409) Geleased (A)
Renew (B) Mislukt (409) Mislukt (409) Mislukt (409) Mislukt (409) Mislukt (409)
Release (A) Mislukt (409) Beschikbaar Beschikbaar Beschikbaar Beschikbaar
Release (B) Mislukt (409) Mislukt (409) Mislukt (409) Mislukt (409) Mislukt (409)
De duur verloopt Beschikbaar Verlopen (A) Gebroken (A) Gebroken (A) Verlopen (A)

Billing

Prijsaanvragen kunnen afkomstig zijn van clients die gebruikmaken van Blob Storage-API's, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Met deze aanvragen worden kosten per transactie in rekening gebracht. Het type transactie is van invloed op de manier waarop de rekening in rekening wordt gebracht. Leestransacties hebben bijvoorbeeld een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Lease Container aanvragen op basis van het type opslagaccount:

Bewerking Type opslagaccount Factureringscategorie
Leasecontainer (verkrijgen, vrijgeven, vernieuwen) Premium blok-blob
Standaard v2 voor algemeen gebruik
Andere bewerkingen
Leasecontainer (verkrijgen, vrijgeven, vernieuwen) Standaard v1 voor algemeen gebruik Leesbewerkingen
Leasecontainer (einde, wijziging) Premium blok-blob
Standaard v2 voor algemeen gebruik
Andere bewerkingen
Leasecontainer (einde, wijziging) Standaard v1 voor algemeen gebruik Schrijfbewerkingen

Zie prijzen voor Azure Blob Storage voor meer informatie over prijzen voor de opgegeven factureringscategorie.

Zie ook

Aanvragen autoriseren voor Azure Storage
Status en foutcodes
Blob Storage-foutcodes
Lease-blob