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 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 upphört att gälla.
Protokolltillgänglighet
Aktiverat filresursprotokoll | Tillgänglig |
---|---|
SMB |
![]() |
NFS |
![]() |
Begäran
Den Lease File
begäran skapas på följande sätt. Vi rekommenderar att du använder HTTPS.
Metod | Begärande-URI | HTTP-version |
---|---|---|
STÄLLA | 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 | Beskrivning |
---|---|
myaccount |
Namnet på ditt lagringskonto. |
myshare |
Namnet på filresursen. |
mydirectorypath |
Valfri. Sökvägen till katalogen. |
myfile |
Namnet på filen. |
URI-parametrar
Du kan ange följande ytterligare parameter på begärande-URI:n.
Parameter | Beskrivning |
---|---|
timeout |
Valfri. Parametern timeout uttrycks i sekunder. Mer information finns i Ange 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 UTC (Coordinated Universal Time) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Valfri. 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 för x-ms-lease-id i valfritt giltigt GUID-strängformat. Se Guid Constructor (String) för en lista över giltiga format. |
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 : Släpper lånet. Du kan frigöra lånet om låne-ID:t 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 bryta 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. Se Guid Constructor (String) för en lista över giltiga format. |
x-ms-client-request-id |
Valfri. Tillhandahåller ett klientgenererat, täckande värde med en kibibytesteckengräns (KiB) som registreras i loggarna när loggningen konfigureras. 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 rubrik 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 RBAC-principen som tilldelats den identitet som är auktoriserad med hjälp av Authorization -huvudet. Tillgänglig för version 2022-11-02 och senare. |
x-ms-allow-trailing-dot: { <Boolean> } |
Valfri. 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 Namngivning och referens av resurser, kataloger, filer och metadata. |
Begärandetext
Ingen.
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 myaccount:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
Svar
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 rubrikerna i följande tabell. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Svarsrubrik | Beskrivning |
---|---|
ETag |
Innehåller ett värde som du kan använda för att utföra åtgärder villkorligt, inom citattecken. Den Lease File åtgärden ä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 på filen, inklusive uppdateringar av filens metadata eller egenskaper, ändrar den senaste ändrade tiden för filen. Den Lease File åtgärden ä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. Medan lånet är aktivt måste du inkludera låne-ID:t med en begäran om att skriva till filen, eller ändra eller släppa 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 |
Returnerades 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ökning av 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. Om den x-ms-client-request-id rubriken inte finns i begäran visas den inte i svaret. |
Svarstext
Ingen.
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>
Tillstånd
Endast kontoägaren kan anropa den här åtgärden.
Anmärkningar
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 hämtar ett lån returneras ett låne-ID. Azure Files genererar ett låne-ID om ett inte har angetts 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 ingå i begäran för någon av följande åtgärder:
- Skapa
- ange för filmetadata
- Ange filegenskaper
- Ta bort fil
- Kopiera fil (Låne-ID krävs för målfilen.)
Om låne-ID:t inte ingår misslyckas dessa åtgärder på en hyrd fil med 412 – Precondition failed
.
Följande åtgärder lyckas på en leasad fil, utan att inkludera låne-ID:t:
- Hämta fil
- Hämta filmetadata
- Hämta filegenskaper
- listintervall
- listkataloger och filer
- Kopiera fil (inget låne-ID behövs för källfilen.)
-
Lease File (REST API) (Inget låne-ID krävs för
x-ms-lease-action: break
.)
Det är inte nödvändigt att inkludera låne-ID:t för GET-åtgärder i en fil som har ett aktivt lån. Alla GET-åtgärder stöder dock 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 för 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 tillstånd, baserat på om lånet är låst eller olåst och om lånet är förnybart i det tillståndet. De låneåtgärder som visas i föregående diagram orsakar tillståndsövergångar.
-
Available
: Lånet är olå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. Att begära ett lån mot en fil i en resursögonblicksbild resulterar i statuskod 400 (felaktig begäran).
Om ett fillån är i tillståndet Bruten och en Put Range-åtgärd skrivs till filen ändras lånetillståndet till Tillgänglig. Men om filen har den skrivskyddade attributuppsättningen 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 genererats av Azure Files.
Utfall av användningsförsök för filer efter lånetillstånd
Handling | Tillgänglig | Leasat (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äs lyckades | Leasad (A), läsning lyckas | Bruten (A), läsning lyckas |
Utfall av låneåtgärder för filer efter lånetillstånd
Handling | Tillgänglig | Leasat (A) | Bruten (A) |
---|---|---|---|
Acquire , inget föreslaget låne-ID |
Leasat (X) | Misslyckas (409) | Leasat (X) |
Acquire (A) |
Leasat (A) | Leasat (A) | Leasat (A) |
Acquire (B) |
Leasat (B) | Misslyckas (409) | Leasat (B) |
Break |
Misslyckas (409) | Bruten (A) | Bruten (A) |
Change , (A) till (B) |
Misslyckas (409) | Leasat (B) | Misslyckas (409) |
Change , (B) till (A) |
Misslyckas (409) | Leasat (A) | Misslyckas (409) |
Change , (B) till (C) |
Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |
Release (A) |
Misslyckas (409) | Tillgänglig | Tillgänglig |
Release (B) |
Misslyckas (409) | Misslyckas (409) | Misslyckas (409) |