Delen via


Leasebestand

De Lease File bewerking maakt en beheert een vergrendeling op een bestand voor schrijf- en verwijderbewerkingen. Lease File wordt ondersteund voor versie 2019-02-02 en hoger.

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

  • Acquire, om een nieuwe lease aan te vragen.
  • Change, als u de id van een bestaande lease wilt wijzigen.
  • Release, om de lease vrij te maken als deze niet meer nodig is, zodat een andere client direct een lease voor het bestand kan verkrijgen.
  • Break, om de lease geforceerd te beëindigen, maar ervoor te zorgen dat een andere client pas een nieuwe lease kan verkrijgen als de huidige leaseperiode is verlopen.

Beschikbaarheid van protocol

Protocol voor bestandsshare ingeschakeld Beschikbaar
SMB Ja-
NFS Geen

Verzoek

De Lease File aanvraag wordt als volgt samengesteld. U wordt aangeraden HTTPS te gebruiken.

Methode Aanvraag-URI HTTP-versie
ZETTEN https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease HTTP/1.1

Vervang de padonderdelen in de aanvraag-URI als volgt door uw eigen padonderdelen:

Padonderdeel Beschrijving
myaccount De naam van uw opslagaccount.
myshare De naam van uw bestandsshare.
mydirectorypath Facultatief. Het pad naar de map.
myfile De naam van het bestand.

URI-parameters

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

Parameter Beschrijving
timeout Facultatief. De parameter timeout wordt uitgedrukt in seconden. Zie Time-outs instellen voor Azure Files-bewerkingenvoor meer informatie.

Aanvraagheaders

In de volgende tabel worden de 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 Storagevoor meer informatie.
Date of x-ms-date Vereist. Hiermee geeft u de Coordinated Universal Time (UTC) voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie.
x-ms-version Facultatief. Hiermee geeft u de versie van de bewerking die moet worden gebruikt voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-servicesvoor 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 elke geldige GUID-tekenreeksindeling. Zie guid constructor (tekenreeks) voor een lijst met geldige indelingen.
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> acquire: vraagt een nieuwe lease aan. Als het bestand geen actieve lease heeft, maakt Azure Files een lease op het bestand en retourneert een nieuwe lease-id. Als het bestand een actieve lease heeft, kunt u alleen een nieuwe lease aanvragen met behulp van de actieve lease-id.

change: wijzigt de lease-id van een actieve lease. Een change moet de huidige lease-id opnemen in x-ms-lease-iden een nieuwe lease-id in x-ms-proposed-lease-id.

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

break: de lease wordt verbroken als het bestand een actieve lease heeft. Elke geautoriseerde aanvraag kan de lease verbreken. De aanvraag is niet vereist om een overeenkomende lease-id op te geven. Een oneindige lease wordt onmiddellijk verbroken.
x-ms-lease-duration: -1 Alleen toegestaan en vereist voor een acquire bewerking. Vereist om te worden -1, om aan te geven dat een lease die nooit verloopt.
x-ms-proposed-lease-id: <ID> Optioneel voor acquireen vereist voor change. Voorgestelde lease-id, in een GUID-tekenreeksindeling. Azure Files retourneert 400 (Invalid request) als de voorgestelde lease-id niet de juiste indeling heeft. Zie guid constructor (tekenreeks) voor een lijst met geldige indelingen.
x-ms-client-request-id Facultatief. Biedt een door de client gegenereerde, ondoorzichtige waarde met een tekenlimiet 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 Monitor Azure Filesvoor meer informatie.
x-ms-file-request-intent Vereist als Authorization header een OAuth-token opgeeft. Acceptabele waarde is backup. Deze header geeft aan dat de Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action of Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action moeten worden verleend als ze zijn opgenomen in het RBAC-beleid dat is toegewezen aan de identiteit die is geautoriseerd met behulp van de Authorization-header. Beschikbaar voor versie 2022-11-02 en hoger.
x-ms-allow-trailing-dot: { <Boolean> } Facultatief. Versie 2022-11-02 en hoger. De Booleaanse waarde geeft aan of een volgpunt aanwezig in de aanvraag-URL moet worden ingekort of niet. Zie Shares, mappen, bestanden en metagegevensvoor meer informatie.

Aanvraagbody

Geen.

Voorbeeldaanvraag

In de volgende voorbeeldaanvraag ziet u hoe u een lease kunt verkrijgen:

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease HTTP/1.1  
  
Request Headers:  
x-ms-version: 2019-07-07  
x-ms-lease-action: acquire  
x-ms-lease-duration: -1  
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-date: <date>  
Authorization: SharedKey myaccount:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=  

Antwoord

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

Statuscode

De successtatuscodes die worden geretourneerd voor leasebewerkingen zijn het volgende:

  • Acquire: Een geslaagde bewerking retourneert statuscode 201 (gemaakt).
  • 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 foutcodesvoor meer informatie over statuscodes.

Antwoordheaders

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

Antwoordheader Beschrijving
ETag Bevat een waarde die u kunt gebruiken om bewerkingen voorwaardelijk uit te voeren, tussen aanhalingstekens. De bewerking Lease File wijzigt deze eigenschap niet.
Last-Modified De datum/tijd waarop het bestand het laatst is gewijzigd. Zie Weergave van datum/tijd-waarden in koptekstenvoor meer informatie.

Elke schrijfbewerking voor het bestand, inclusief updates van de metagegevens of eigenschappen van het bestand, wijzigt de laatst gewijzigde tijd van het bestand. De bewerking Lease File wijzigt deze eigenschap niet.
x-ms-lease-id:<ID> Wanneer u een lease aanvraagt, retourneert Azure Files een unieke lease-id. Terwijl de lease actief is, moet u de lease-id opnemen met een verzoek om naar het bestand te schrijven of de lease te wijzigen of vrij te geven.

Een geslaagde vernieuwingsbewerking retourneert ook de lease-id voor de actieve lease.
x-ms-lease-time: seconds Alleen geretourneerd voor een geslaagde aanvraag om de lease te verbreken. 0 wordt geretourneerd voor onmiddellijke onderbrekingen.
x-ms-request-id Identificeer de aanvraag die is gemaakt en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossenvoor meer informatie.
x-ms-version Geeft de versie van Azure Files aan 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.
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 antwoord

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: 2019-07-07
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
Date: <date>  

Machtiging

Alleen de accounteigenaar kan deze bewerking aanroepen.

Opmerkingen

Een lease op een bestand biedt exclusieve schrijf- en verwijdertoegang tot het bestand. Als u wilt schrijven naar een bestand met een actieve lease, moet een client de actieve lease-id met de schrijfaanvraag opnemen. De lease wordt verleend voor een oneindige duur.

Wanneer een client een lease verkrijgt, wordt er een lease-id geretourneerd. Azure Files genereert een lease-id als deze niet is opgegeven in de aanvraag voor verkrijgen. De client kan deze lease-id gebruiken om de lease-id te wijzigen of de lease vrij te geven.

Wanneer een lease actief is, moet de lease-id worden opgenomen in de aanvraag voor een van de volgende bewerkingen:

Als de lease-id niet is opgenomen, mislukken deze bewerkingen in een geleased bestand, met 412 – Precondition failed.

De volgende bewerkingen worden uitgevoerd op een leasebestand, zonder de lease-id op te slaan:

Het is niet nodig om de lease-id voor GET-bewerkingen op te nemen in een bestand met een actieve lease. Alle GET-bewerkingen ondersteunen echter een parameter voor voorwaardelijke lease. In dit type parameter wordt de bewerking alleen uitgevoerd als de lease-id die bij de aanvraag is opgenomen, geldig is.

Alle sharebewerkingen zijn toegestaan op een share die bestanden bevat met een actieve lease, waaronder Share verwijderen. Daarom kunt u een share verwijderen, zelfs als bestanden in de share actieve leases hebben.

Leasestatussen

In het volgende diagram ziet u de drie statussen van een lease en de opdrachten of gebeurtenissen die de status van de lease veroorzaken.

diagram met bestandsleasestatussen en statuswijzigingstriggers.

Een lease kan zich in drie staten bevinden, op basis van of de lease is vergrendeld of ontgrendeld en of de lease in die staat kan worden verlengd. De leaseacties die in het voorgaande diagram worden weergegeven, veroorzaken statusovergangen.

  • Available: de lease is ontgrendeld en kan worden verkregen. Toegestane actie: acquire.
  • Leased: de lease is vergrendeld. Toegestane acties: acquire (alleen dezelfde lease-id), change, releaseen break.
  • Broken: de lease is verbroken. Toegestane acties: acquire, releaseen break.

Houd er rekening mee dat een lease niet kan worden verleend voor een bestand in een momentopname van een share, omdat momentopnamen alleen-lezen zijn. Het aanvragen van een lease voor een bestand in een momentopname van een share resulteert in statuscode 400 (Ongeldige aanvraag).

Als een bestandslease de status Broken heeft en een Put Range-bewerking naar het bestand schrijft, wordt de leasestatus gewijzigd in Beschikbare. Als het bestand echter het kenmerk Alleen-lezen heeft ingesteld, retourneert de server conflict 409.

De eigenschap Last-Modified-Time van het bestand wordt niet bijgewerkt door aanroepen naar Lease File.

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

Resultaten van gebruikspogingen op bestanden per leasestatus

Actie Beschikbaar Geleased (A) Gebroken (A)
Schrijven met (A) Mislukt (412) Geleased (A), schrijven slaagt Mislukt (412)
Schrijven met (B) Mislukt (412) Mislukt (409) Mislukt (412)
Schrijven, geen lease opgegeven Beschikbaar, schrijven slaagt Mislukt (412) Beschikbaar, schrijven slaagt
Lezen met behulp van (A) Mislukt (412) Geleased (A), leesbewerkingen slaagt Mislukt (412)
Lezen met behulp van (B) Mislukt (412) Mislukt (409) Mislukt (412)
Lezen, geen lease opgegeven Beschikbaar, lezen slaagt Geleased (A), leesbewerkingen slaagt Verbroken (A), leesbewerking slaagt

Resultaten van leasebewerkingen op bestanden per leasestatus

Actie Beschikbaar Geleased (A) Gebroken (A)
Acquire, geen voorgestelde lease-id Geleased (X) Mislukt (409) Geleased (X)
Acquire (A) Geleased (A) Geleased (A) Geleased (A)
Acquire (B) Geleased (B) Mislukt (409) Geleased (B)
Break Mislukt (409) Gebroken (A) Gebroken (A)
Change, (A) tot (B) Mislukt (409) Geleased (B) Mislukt (409)
Change, (B) tot (A) Mislukt (409) Geleased (A) Mislukt (409)
Change, (B) tot (C) Mislukt (409) Mislukt (409) Mislukt (409)
Release (A) Mislukt (409) Beschikbaar Beschikbaar
Release (B) Mislukt (409) Mislukt (409) Mislukt (409)

Zie ook