Dela via


Lånefil

Åtgärden Lease File skapar och hanterar ett lås på en fil för skriv- och borttagningsåtgärder. Lease File stöds för version 2019-02-02 och senare.

Du kan anropa åtgärden Lease File i något av följande lägen:

  • Acquire, för att begära ett nytt lån.
  • Change, för att ändra ID:t för ett befintligt lån.
  • Release, för att frigöra lånet om det inte längre behövs, så att en annan klient omedelbart kan skaffa ett lån mot filen.
  • Break, för att tvångssluta lånet, men se till att en annan klient inte kan skaffa ett nytt lån förrän den aktuella låneperioden har gått ut.

Protokolltillgänglighet

Aktiverat filresursprotokoll Tillgängligt
SMB Ja
NFS No

Förfrågan

Du kan skapa begäran på Lease File följande sätt. HTTPS rekommenderas.

Metod URI för förfrågan HTTP-version
Put https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease HTTP/1.1

Ersätt sökvägskomponenterna som visas i begärande-URI:n med dina egna, enligt följande:

Sökvägskomponent Description
myaccount Namnet på ditt lagringskonto.
myshare Namnet på filresursen.
mydirectorypath Valfritt. Sökvägen till katalogen.
myfile Namnet på filen.

URI-parametrar

Du kan ange följande ytterligare parameter i begärande-URI:n.

Parameter Beskrivning
timeout Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ställa in tidsgränser för Azure Files åtgärder.

Begärandehuvuden

I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.

Begärandehuvud Beskrivning
Authorization Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage.
Date eller x-ms-date Krävs. Anger Coordinated Universal Time (UTC) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage.
x-ms-version Valfritt. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna.
x-ms-lease-id: <ID> Krävs för att förnya, ändra eller frigöra lånet.

Du kan ange värdet x-ms-lease-id för i valfritt giltigt GUID-strängformat. En lista över giltiga format finns i Guid-konstruktor (sträng ).
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> acquire: Begär ett nytt lån. Om filen inte har ett aktivt lån skapar Azure Files ett lån för filen och returnerar ett nytt låne-ID. Om filen har ett aktivt lån kan du bara begära ett nytt lån med hjälp av det aktiva låne-ID:t.

change: Ändrar låne-ID för ett aktivt lån. Ett change måste innehålla det aktuella låne-ID:t i x-ms-lease-idoch ett nytt låne-ID i x-ms-proposed-lease-id.

release: Frigör lånet. Du kan frigöra lånet om det låne-ID som anges i begäran matchar det som är associerat med filen. När lånet släpps kan en annan klient omedelbart hämta lånet för filen, så snart versionen är klar.

break: Bryter lånet om filen har ett aktivt lån. Alla auktoriserade begäranden kan avbryta lånet. Begäran krävs inte för att ange ett matchande låne-ID. Ett oändligt lån bryts omedelbart.
x-ms-lease-duration: -1 Tillåts och krävs endast för en acquire åtgärd. Krävs för att vara -1, för att ange ett lån som aldrig upphör att gälla.
x-ms-proposed-lease-id: <ID> Valfritt för acquireoch krävs för change. Föreslaget låne-ID i ett GUID-strängformat. Azure Files returnerar 400 (Invalid request) om det föreslagna låne-ID:t inte har rätt format. En lista över giltiga format finns i Guid-konstruktor (sträng ).
x-ms-client-request-id Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggning har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Files.
x-ms-file-request-intent Krävs om Authorization huvudet anger en OAuth-token. Acceptabelt värde är backup. Det här huvudet anger att Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action eller Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action ska beviljas om de ingår i DEN RBAC-princip som tilldelats den identitet som har behörighet med hjälp av Authorization huvudet. Tillgänglig för version 2022-11-02 och senare.
x-ms-allow-trailing-dot: { <Boolean> } Valfritt. Version 2022-11-02 och senare. Det booleska värdet anger om en avslutande punkt som finns i begärande-URL:en ska trimmas eller inte. Mer information finns i Namnge och referera till resurser, kataloger, filer och metadata.

Begärandetext

Inga.

Exempelbegäran

Följande exempelbegäran visar hur du skaffar ett lån:

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 testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=  

Svarsåtgärder

Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.

Statuskod

Statuskoderna för lyckade lån som returneras för låneåtgärder är följande:

  • Acquire: En lyckad åtgärd returnerar statuskoden 201 (skapad).
  • Change: En lyckad åtgärd returnerar statuskod 200 (OK).
  • Release: En lyckad åtgärd returnerar statuskod 200 (OK).
  • Break: En lyckad åtgärd returnerar statuskod 202 (godkänd).

Information om statuskoder finns i Status och felkoder.

Svarshuvuden

Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.

Syntax Description
ETag Innehåller ett värde som du kan använda för att utföra åtgärder villkorligt, inom citattecken. Åtgärden Lease File ändrar inte den här egenskapen.
Last-Modified Datum/tid då filen senast ändrades. Mer information finns i Representation av datum-tidsvärden i rubriker.

Alla skrivåtgärder i filen, inklusive uppdateringar av filens metadata eller egenskaper, ändrar den senast ändrade tiden för filen. Åtgärden Lease File ändrar inte den här egenskapen.
x-ms-lease-id: <id> När du begär ett lån returnerar Azure Files ett unikt låne-ID. När lånet är aktivt måste du inkludera låne-ID:t med en begäran om att skriva till filen eller ändra eller frigöra lånet.

En lyckad förnyelseåtgärd returnerar också låne-ID:t för det aktiva lånet.
x-ms-lease-time: seconds Returneras endast för en lyckad begäran om att avbryta lånet. 0 returneras för omedelbara pauser.
x-ms-request-id Identifierar unikt den begäran som gjordes och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger vilken version av Azure Files som används för att köra begäran.
Date Ett UTC-datum/tid-värde som anger den tid då svaret initierades. Tjänsten genererar det här värdet.
x-ms-client-request-id Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id huvudet, om det finns i begäran. Värdet är högst 1 024 synliga ASCII-tecken. x-ms-client-request-id Om rubriken inte finns i begäran visas den inte i svaret.

Själva svaret

Inga.

Exempelsvar

Följande är ett exempelsvar för en begäran om att skaffa ett lån:

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>  

Auktorisering

Kontoägaren kan anropa den här åtgärden. Dessutom kan alla klienter med en signatur för delad åtkomst som har behörighet att skriva till den här filen eller dess resurs göra det.

Kommentarer

Ett lån på en fil ger exklusiv skriv- och borttagningsåtkomst till filen. Om du vill skriva till en fil med ett aktivt lån måste en klient inkludera det aktiva låne-ID:t med skrivbegäran. Lånet beviljas för en oändlig varaktighet.

När en klient skaffar ett lån returneras ett låne-ID. Azure Files genererar ett låne-ID om ett inte anges i begäran om att hämta. Klienten kan använda det här låne-ID:t för att ändra sitt låne-ID eller frigöra lånet.

När ett lån är aktivt måste låne-ID:t inkluderas i begäran för någon av följande åtgärder:

Om låne-ID:t inte ingår misslyckas dessa åtgärder i en hyrd fil med 412 – Precondition failed.

Följande åtgärder lyckas med en hyrd fil, utan att inkludera låne-ID:t:

Det är inte nödvändigt att inkludera låne-ID:t för åtgärder i GET en fil som har ett aktivt lån. Alla åtgärder stöder dock GET en villkorsstyrd låneparameter. I den här typen av parameter fortsätter åtgärden endast om låne-ID:t som ingår i begäran är giltigt.

Alla resursåtgärder är tillåtna på en resurs som innehåller filer med ett aktivt lån, inklusive Ta bort resurs. Därför kan du ta bort en resurs även om filer i den har aktiva lån.

Lånetillstånd

Följande diagram visar de tre tillstånden för ett lån och de kommandon eller händelser som orsakar ändringar i lånetillståndet.

Diagram som visar fillånetillstånd och utlösare för tillståndsändring.

Ett lån kan vara i tre delstater, baserat på om lånet är låst eller olåst och om lånet kan förnyas i det tillståndet. Låneåtgärderna som visas i föregående diagram orsakar tillståndsövergångar.

  • Available: Lånet är upplåst och kan förvärvas. Tillåten åtgärd: acquire.
  • Leased: Lånet är låst. Tillåtna åtgärder: acquire (endast samma låne-ID), change, releaseoch break.
  • Broken: Lånet har brutits. Tillåtna åtgärder: acquire, releaseoch break.

Observera att ett lån inte kan beviljas för en fil i en resursögonblicksbild eftersom ögonblicksbilder är skrivskyddade. Om du begär ett lån mot en fil i en resursögonblicksbild resulterar det i statuskod 400 (felaktig begäran).

Om ett fillån är i tillståndet Brutet och en Put Range-åtgärd skriver till filen ändras lånetillståndet till Tillgängligt. Men om filen har det skrivskyddade attributet inställt returnerar servern konflikt 409.

Filens Last-Modified-Time egenskap uppdateras inte av anrop till Lease File.

Följande tabeller visar resultatet av åtgärder för filer med lån i olika lånetillstånd. Bokstäver (A), (B) och (C) representerar låne-ID:n och (X) representerar ett låne-ID som genereras av Azure Files.

Utfall av användningsförsök för filer efter lånetillstånd

Åtgärd Tillgängligt Leasad (A) Bruten (A)
Skriva med hjälp av (A) Misslyckas (412) Leasad (A), skrivning lyckas Misslyckas (412)
Skriva med hjälp av (B) Misslyckas (412) Misslyckas (409) Misslyckas (412)
Skriv, inget lån har angetts Tillgänglig, skriv lyckades Misslyckas (412) Tillgänglig, skriv lyckades
Läsa med hjälp av (A) Misslyckas (412) Leasad (A), läsning lyckas Misslyckas (412)
Läsa med hjälp av (B) Misslyckas (412) Misslyckas (409) Misslyckas (412)
Läs, inget lån har angetts Tillgänglig, läsning lyckas Leasad (A), läs lyckades Bruten (A), läsning lyckas

Utfall av låneåtgärder på filer efter lånetillstånd

Åtgärd Tillgängligt Leasad (A) Bruten (A)
Acquire, inget föreslaget låne-ID Leasad (X) Misslyckas (409) Leasad (X)
Acquire (A) Leasad (A) Leasad (A) Leasad (A)
Acquire (B) Leasad (B) Misslyckas (409) Leasad (B)
Break Misslyckas (409) Bruten (A) Bruten (A)
Change, (A) till (B) Misslyckas (409) Leasad (B) Misslyckas (409)
Change, (B) till (A) Misslyckas (409) Leasad (A) Misslyckas (409)
Change, (B) till (C) Misslyckas (409) Misslyckas (409) Misslyckas (409)
Release (A) Misslyckas (409) Tillgängligt Tillgängligt
Release (B) Misslyckas (409) Misslyckas (409) Misslyckas (409)

Se även