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:
Acquire
om een nieuwe lease aan te vragen.Renew
, om een bestaande lease te vernieuwen.Change
om 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.Break
om 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 duration opgeven, 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-id bevatten 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 acquire en 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.
Belangrijk
Microsoft raadt aan Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen voor Azure Storage te autoriseren. Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met autorisatie van gedeelde sleutels.
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, beheerde identiteit 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:
- Azure RBAC-actie: Microsoft.Storage/storageAccounts/blobServices/containers/write
- Ingebouwde rol met minimale bevoegdheden: Inzender voor opslagblobgegevens
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.
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
,release
enbreak
.Expired
, is de leaseduur verlopen. Toegestane acties:acquire
,renew
,release
enbreak
.Breaking
, is de lease verbroken, maar de lease blijft vergrendeld totdat de onderbrekingsperiode is verlopen. Toegestane acties:release
enbreak
.Broken
, de lease is verbroken en de onderbrekingsperiode is verlopen. Toegestane acties:acquire
,release
enbreak
.
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