Delen via


Leaseshare

De Lease Share bewerking brengt een vergrendeling van een Azure-bestandsshare of een momentopname van een share tot stand en beheert deze. Deze API wordt volledig ondersteund, maar het is een verouderde beheer-API. Gebruik in plaats daarvan Bestandsshares - Lease, geleverd door de opslagresourceprovider (Microsoft.Storage). Zie Bewerkingen op FileShares voor meer informatie over het programmatisch communiceren met FileShare resources met behulp van de opslagresourceprovider.

De vergrendelingsduur kan 15 tot 60 seconden of oneindig zijn. U kunt de Lease Share bewerking aanroepen in een van de volgende modi:

  • Acquire: Om een nieuwe lease aan te vragen.
  • Renew: Om een bestaande lease te verlengen.
  • Change: de id van een bestaande lease wijzigen.
  • Release: om de lease vrij te maken als deze niet meer nodig is, zodat een andere client onmiddellijk een lease kan verkrijgen voor de bestandsshare.
  • Break: Om de lease te beëindigen, maar ervoor te zorgen dat een andere klant geen nieuwe lease kan verkrijgen totdat de huidige leaseperiode is verstreken.

Notitie

De Lease Share bewerking is beschikbaar in versie 2020-02-10 en hoger.

Protocol beschikbaarheid

Bestandsshareprotocol ingeschakeld Beschikbaar
SMB Ja
NFS Ja

Aanvraag

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

Methode Aanvraag-URI HTTP-versie
PUT https://myaccount.file.core.windows.net/myshare?comp=lease&restype=share HTTP/1.1
PUT https://myaccount.file.core.windows.net/myshare?comp=lease&sharesnapshot=<DateTime>&restype=share HTTP/1.1

URI-parameters

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

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Azure Files 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. Zie Aanvragen voor Azure Storage autoriseren voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen voor Azure Storage autoriseren 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 om de lease te verlengen, te wijzigen of vrij te geven.

U kunt de waarde van x-ms-lease-id opgeven in een geldige GUID-tekenreeksindeling. Zie Guid Constructor (String) voor een lijst met geldige notaties.
x-ms-lease-action: <action> acquire: Vraagt een nieuwe lease aan. Als de bestandsshare geen actieve lease heeft, maakt Azure Files een lease voor de bestandsshare en retourneert een nieuwe lease-id. Als de bestandsshare 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 is opgegeven in de aanvraag overeenkomt met de lease-id die is gekoppeld aan de bestandsshare. Houd er rekening mee dat u de lease kunt verlengen, zelfs als deze is verlopen, zolang de bestandsshare niet opnieuw is geleased sinds het verlopen van die lease. Wanneer u een lease verlengt, wordt de klok voor 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 bestandsshare. Door de lease vrij te geven, kan een andere client onmiddellijk de lease voor de bestandsshare verkrijgen zodra de release is voltooid.

break: verbreek de lease als de bestandsshare 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. break Dit release zijn de enige bewerkingen die u in deze periode op de bestandsshare kunt uitvoeren. 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 lease van een bestandsshare verkrijgen die is vrijgegeven.
x-ms-lease-break-period: N Optioneel. Voor een break bewerking is dit de voorgestelde duur die de lease moet voortzetten voordat deze wordt onderbroken, in seconden, tussen 0 en 60. Deze onderbrekingsperiode wordt alleen gebruikt als deze korter is dan de resterende tijd van de lease. Als het langer is, wordt de resterende tijd van de lease gebruikt. Een nieuwe lease is niet 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, breekt een lease met een vaste duur na het verstrijken van de resterende leaseperiode en een oneindige lease onmiddellijk.
x-ms-lease-duration: -1 Vereist voor acquire. Hiermee geeft u de duur van de lease, in seconden, of een negatieve (-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. Azure 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 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 Storage-services 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 Files bewaken voor meer informatie.

Aanvraagbody

Geen.

Voorbeeldaanvraag

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

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=lease HTTP/1.1  
  
Request Headers:  
x-ms-version: 2020-02-10  
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 Beschrijving
ETag De ETag voor de bestandsshare.
Last-Modified Retourneert de datum en tijd waarop de bestandsshare voor het laatst is gewijzigd. Zie Weergave van datum-tijdwaarden in kopteksten voor meer informatie.

Elke bewerking die de bestandsshare of de eigenschappen of metagegevens wijzigt, werkt het tijdstip van de laatste wijziging bij. Dit omvat het instellen van de machtigingen van de bestandsshare. Bewerkingen op blobs hebben geen invloed op het tijdstip van de laatste wijziging van de bestandsshare.
x-ms-lease-id: <id> Wanneer u een lease aanvraagt, retourneert Azure Files een unieke lease-id. Zolang de lease actief is, moet u de lease-id opnemen bij elke aanvraag om de bestandsshare 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, 0 wordt geretourneerd.
x-ms-request-id Uniek identificeert 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 aan van de FileREST-API die wordt gebruikt om de aanvraag uit te voeren.
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 is ingesteld op true.
x-ms-client-request-id Kan worden gebruikt 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-File/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2020-02-10  
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
Date: Thu, 26 Jan 2012 23:30:18 GMT  

Autorisatie

Alleen de accounteigenaar kan deze bewerking aanroepen.

Opmerkingen

Een lease van een bestandsshare biedt exclusieve verwijderingstoegang tot de bestandsshare. Bewerkingen voor het ophalen van bestandsshares worden uitgevoerd op een leasebestandsshare, zonder de lease-id op te slaan. Voor het instellen van bestandssharebewerkingen is de lease-id van de bestandsshare vereist. Als de lease-id niet is opgenomen in bewerkingen voor het instellen van bestandsshares, mislukt de bewerking met 412 (voorwaarde is mislukt). De lease wordt verleend voor de duur die is opgegeven bij het verkrijgen van de lease, van 15 tot 60 seconden of een oneindige duur.

Wanneer een klant een lease verkrijgt, wordt een lease-id geretourneerd. Azure Files genereert een lease-id als er geen is opgegeven in de acquire-aanvraag. 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 vijf statussen van een lease en de opdrachten of gebeurtenissen die wijzigingen in de leasestatus veroorzaken.

Diagram van leasestatussen van bestandsshares en triggers voor statuswijziging.

Een lease kan zich in een van deze statussen bevinden, 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 verstreken. Toegestane acties: release en break.
  • Broken, de lease is verbroken en de onderbrekingsperiode is verlopen. Toegestane acties: acquire, releaseen break.

Azure Files behoudt de lease-id nadat een lease van een bestandsshare is verlopen. Een client kan de lease verlengen of vrijgeven met behulp van de verlopen lease-id. Als de client probeert een verlopen lease met de vorige lease-id te vernieuwen of vrij te geven en de aanvraag mislukt, betekent dit dat de bestandsshare opnieuw is geleased of verwijderd sinds de lease voor het laatst actief was. Als een lease verloopt in plaats van expliciet te worden vrijgegeven, moet een client mogelijk maximaal één minuut wachten voordat een nieuwe lease kan worden verkregen voor de bestandsshare. De client kan de lease echter onmiddellijk verlengen met de verlopen lease-id.

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

De volgende tabellen tonen 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 Azure Files.

Resultaten van gebruikspogingen op shares per leasestatus

Actie Beschikbaar Geleased (A) Fouten maken (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 aandelen 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)
Duur verloopt Beschikbaar Verlopen (A) Gebroken (A) Gebroken (A) Verlopen (A)