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 |
![]() |
NFS |
![]() |
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-id en 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 acquire en 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:
- Bestand maken
- metagegevens van bestanden instellen
- bestandseigenschappen instellen
- bestand verwijderen
- Bereik plaatsen
- bestand kopiëren (lease-id vereist voor doelbestand.)
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:
- Bestand ophalen
- metagegevens van bestanden ophalen
- Bestandseigenschappen ophalen
- lijstbereiken
- mappen en bestanden weergeven
- Bestand kopiëren (geen lease-id nodig voor bronbestand.)
-
leasebestand (REST API) (geen lease-id nodig voor
x-ms-lease-action: break
.)
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.
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
,release
enbreak
. -
Broken
: de lease is verbroken. Toegestane acties:acquire
,release
enbreak
.
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) |