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 | |
NFS |
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-id och 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 acquire och 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:
- Skapa fil
- Ange filmetadata
- Ange filegenskaper
- Ta bort fil
- Placera intervall
- Kopiera fil (låne-ID som krävs för målfilen.)
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:
- Hämta fil
- Hämta filmetadata
- Hämta filegenskaper
- Listintervall
- Lista kataloger och filer
- Kopiera fil (inget låne-ID behövs för källfilen.)
-
Lease File (REST API) ( Inget låne-ID behövs för
x-ms-lease-action: break
.)
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.
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
,release
ochbreak
. -
Broken
: Lånet har brutits. Tillåtna åtgärder:acquire
,release
ochbreak
.
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) |