Soubor zapůjčení
Operace Lease File
vytvoří a spravuje zámek souboru pro operace zápisu a odstranění.
Lease File
se podporuje pro verzi 2019-02-02 a novější.
Operaci Lease File
můžete volat v jednom z následujících režimů:
-
Acquire
požádat o nové zapůjčení. -
Change
změnit ID existujícího zapůjčení. -
Release
, uvolnit zapůjčení, pokud už není potřeba, aby jiný klient mohl okamžitě získat zapůjčení souboru. -
Break
, k vynucení ukončení zapůjčení, ale ujistěte se, že jiný klient nemůže získat nové zapůjčení, dokud nevypršela platnost aktuálního období zapůjčení.
Dostupnost protokolu
Povolený protokol sdílené složky | K dispozici |
---|---|
SMB |
![]() |
NFS |
![]() |
Prosba
Požadavek Lease File
je vytvořen následujícím způsobem. Doporučujeme používat PROTOKOL HTTPS.
Metoda | Identifikátor URI požadavku | Verze HTTP |
---|---|---|
DÁT | https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease |
HTTP/1.1 |
Součásti cesty zobrazené v identifikátoru URI požadavku nahraďte vlastními, a to následujícím způsobem:
Komponenta Path | Popis |
---|---|
myaccount |
Název vašeho účtu úložiště. |
myshare |
Název sdílené složky. |
mydirectorypath |
Volitelný. Cesta k adresáři. |
myfile |
Název souboru. |
Parametry identifikátoru URI
Pro identifikátor URI požadavku můžete zadat následující další parametr.
Parametr | Popis |
---|---|
timeout |
Volitelný. Parametr timeout se vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace azure Files. |
Hlavičky požadavku
Následující tabulka popisuje povinné a volitelné hlavičky požadavků.
Hlavička požadavku | Popis |
---|---|
Authorization |
Požadovaný. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. |
Date nebo x-ms-date |
Požadovaný. Určuje standard UTC (Coordinated Universal Time) pro požadavek. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. |
x-ms-version |
Volitelný. Určuje verzi operace, která se má pro tento požadavek použít. Další informace najdete v tématu Správa verzí pro služby Azure Storage. |
x-ms-lease-id:<ID> |
Vyžaduje se k prodloužení, změně nebo uvolnění zapůjčení. Hodnotu x-ms-lease-id můžete zadat v libovolném platném formátu řetězce GUID. Seznam platných formátů najdete v konstruktoru guid (String). |
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> |
acquire : Vyžaduje nové zapůjčení. Pokud soubor nemá aktivní zapůjčení, Azure Files pro soubor vytvoří zapůjčení a vrátí nové ID zapůjčení. Pokud má soubor aktivní zapůjčení, můžete požádat pouze o nové zapůjčení pomocí ID aktivního zapůjčení.change : Změní ID zapůjčení aktivního zapůjčení.
change musí obsahovat aktuální ID zapůjčení v x-ms-lease-id a nové ID zapůjčení v x-ms-proposed-lease-id .release : Uvolní zapůjčení. Zapůjčení můžete uvolnit, pokud SE ID zapůjčení zadané v požadavku shoduje se souborem. Uvolnění zapůjčení umožňuje jinému klientovi okamžitě získat zapůjčení souboru, jakmile bude vydaná verze dokončena.break : Přeruší zapůjčení, pokud má soubor aktivní zapůjčení. Jakákoli autorizovaná žádost může zapůjčení přerušit. Požadavek není nutný k zadání odpovídajícího ID zapůjčení. Nekonečné zapůjčení se okamžitě přeruší. |
x-ms-lease-duration: -1 |
Povoleno a vyžadováno pouze u operace acquire . Vyžaduje se -1 , aby bylo možné označit zapůjčení, které nikdy nevyprší. |
x-ms-proposed-lease-id: <ID> |
Volitelné pro acquire a povinné pro change . Navrhované ID zapůjčení ve formátu řetězce GUID Azure Files vrátí 400 (Invalid request) , pokud navrhované ID zapůjčení není ve správném formátu. Seznam platných formátů najdete v konstruktoru guid (String). |
x-ms-client-request-id |
Volitelný. Poskytuje hodnotu vygenerovanou klientem, neprůshlenou hodnotou s limitem znaků 1 kibibajtů (KiB), který je zaznamenán v protokolech při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. Další informace najdete v tématu Monitorování služby Azure Files. |
x-ms-file-request-intent |
Vyžaduje se, pokud hlavička Authorization určuje token OAuth. Přijatelná hodnota je backup . Tato hlavička určuje, že Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action nebo Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action by měly být uděleny, pokud jsou zahrnuty do zásad RBAC přiřazené k identitě, která je autorizovaná pomocí hlavičky Authorization . K dispozici pro verzi 2022-11-02 a novější. |
x-ms-allow-trailing-dot: { <Boolean> } |
Volitelný. Verze 2022-11-02 a novější. Logická hodnota určuje, jestli by se měla oříznout koncová tečka v adrese URL požadavku, nebo ne. Další informace najdete v tématu Pojmenování a odkazování na sdílené složky, adresáře, soubory a metadata. |
Text požadavku
Žádný.
Ukázkový požadavek
Následující ukázkový požadavek ukazuje, jak získat zapůjčení:
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=
Odpověď
Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.
Stavový kód
Stavové kódy úspěchu vrácené pro operace zapůjčení jsou následující:
-
Acquire
: Úspěšná operace vrátí stavový kód 201 (vytvořeno). -
Change
: Úspěšná operace vrátí stavový kód 200 (OK). -
Release
: Úspěšná operace vrátí stavový kód 200 (OK). -
Break
: Úspěšná operace vrátí stavový kód 202 (přijato).
Informace o stavových kódech naleznete v tématu Stav a kódy chyb.
Hlavičky odpovědi
Odpověď pro tuto operaci obsahuje hlavičky v následující tabulce. Odpověď může obsahovat také další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
Hlavička odpovědi | Popis |
---|---|
ETag |
Obsahuje hodnotu, kterou můžete použít k podmíněnému provádění operací v uvozovkách. Operace Lease File tuto vlastnost nezmění. |
Last-Modified |
Datum a čas poslední změny souboru. Další informace naleznete v tématu Reprezentace hodnot data a času v záhlavích. Jakákoli operace zápisu v souboru, včetně aktualizací metadat nebo vlastností souboru, změní čas poslední změny souboru. Operace Lease File tuto vlastnost nezmění. |
x-ms-lease-id:<ID> |
Když požádáte o zapůjčení, vrátí služba Azure Files jedinečné ID zapůjčení. I když je zapůjčení aktivní, musíte zahrnout ID zapůjčení s libovolnou žádostí o zápis do souboru nebo změnu nebo uvolnění zapůjčení. Úspěšná operace obnovení také vrátí ID zapůjčení aktivního zapůjčení. |
x-ms-lease-time: seconds |
Vráceno pouze pro úspěšnou žádost o přerušení zapůjčení.
0 se vrátí pro okamžité přestávky. |
x-ms-request-id |
Jednoznačně identifikuje provedený požadavek a dá se použít k řešení potíží s požadavkem. Další informace najdete v tématu řešení potíží s operacemi rozhraní API. |
x-ms-version |
Označuje verzi služby Azure Files použitou ke spuštění požadavku. |
Date |
Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Služba vygeneruje tuto hodnotu. |
x-ms-client-request-id |
Dá se použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě hlavičky x-ms-client-request-id , pokud se nachází v požadavku. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud v požadavku není hlavička x-ms-client-request-id , nezobrazí se v odpovědi. |
Text odpovědi
Žádný.
Ukázková odpověď
Následuje ukázková odpověď na žádost o získání zapůjčení:
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>
Oprávnění
Tuto operaci může volat pouze vlastník účtu.
Poznámky
Zapůjčení souboru poskytuje výhradní přístup k zápisu a odstranění souboru. Pokud chcete zapisovat do souboru s aktivním zapůjčením, musí klient do žádosti o zápis zahrnout aktivní ID zapůjčení. Zapůjčení je uděleno po neomezenou dobu.
Když klient získá zapůjčení, vrátí se ID zapůjčení. Azure Files vygeneruje ID zapůjčení, pokud ho v žádosti o získání nezadáte. Klient může toto ID zapůjčení použít ke změně ID zapůjčení nebo uvolnění zapůjčení.
Pokud je zapůjčení aktivní, musí být ID zapůjčení zahrnuto v požadavku na některou z následujících operací:
- vytvoření souborů
- nastavení metadat souborů
- nastavit vlastnosti souboru
- odstranit souboru
- kopírování souboru (ID zapůjčení potřebné pro cílový soubor.)
Pokud ID zapůjčení není zahrnuto, tyto operace selžou u zapůjčeného souboru s 412 – Precondition failed
.
Následující operace u souboru s zapůjčením proběhly úspěšně, aniž by zahrnovaly ID zapůjčení:
- Získat souborů
- získání metadat souborů
- získání vlastností souboru
- rozsahy seznamů
- adresářů a souborů
- kopírovat souboru (pro zdrojový soubor není potřeba ŽÁDNÉ ID zapůjčení.)
-
souboru zapůjčení (REST API) (pro
x-ms-lease-action: break
není potřeba ŽÁDNÉ ID zapůjčení.)
U souboru s aktivním zapůjčením není nutné zahrnout ID zapůjčení pro operace GET. Všechny operace GET však podporují parametr podmíněného zapůjčení. V tomto typu parametru operace pokračuje pouze v případě, že ID zapůjčení zahrnuté do požadavku je platné.
Všechny operace sdílení jsou povoleny ve sdílené složce, která obsahuje soubory s aktivním zapůjčením, včetně Odstranit sdílenou. Sdílenou složku proto můžete odstranit i v případě, že soubory v ní mají aktivní zapůjčení.
Stavy zapůjčení
Následující diagram znázorňuje tři stavy zapůjčení a příkazy nebo události, které způsobují změny stavu zapůjčení.
Zapůjčení může být ve třech stavech na základě toho, jestli je zapůjčení uzamčeno nebo odemknuté, a jestli je zapůjčení v daném stavu obnovitelné. Akce zapůjčení zobrazené v předchozím diagramu způsobují přechody stavu.
-
Available
: Zapůjčení je odemknuté a lze ho získat. Povolená akce:acquire
. -
Leased
: Zapůjčení je uzamčeno. Povolené akce:acquire
(pouze stejné ID zapůjčení),change
,release
abreak
. -
Broken
: Zapůjčení bylo přerušeno. Povolené akce:acquire
,release
abreak
.
Všimněte si, že pro soubor ve snímku sdílené složky nelze udělit zapůjčení, protože snímky jsou jen pro čtení. Vyžádání zapůjčení souboru ve snímku sdílené složky způsobí stavový kód 400 (Chybný požadavek).
Pokud je zapůjčení souboru ve stavu Nefunkční a operace Put Range zapisuje do souboru, stav zapůjčení se změní na Dostupný. Pokud má ale soubor nastavený atribut jen pro čtení, server vrátí konflikt 409.
Vlastnost Last-Modified-Time
souboru se neaktualizuje voláním Lease File
.
Následující tabulky ukazují výsledky akcí u souborů s zapůjčením v různých stavech zapůjčení. Písmena (A), (B) a (C) představují ID zapůjčení a (X) představuje ID zapůjčení vygenerované službou Azure Files.
Výsledky pokusů o použití souborů podle stavu zapůjčení
Akce | K dispozici | Zapůjčeno (A) | Přerušeno (A) |
---|---|---|---|
Zápis pomocí (A) | Selhání (412) | Zapůjčení (A), úspěšné zápis | Selhání (412) |
Zápis pomocí (B) | Selhání (412) | Selhání (409) | Selhání (412) |
Zápis, nezadaná žádná zapůjčení | K dispozici, zápis je úspěšný. | Selhání (412) | K dispozici, zápis je úspěšný. |
Čtení pomocí (A) | Selhání (412) | Zapůjčení (A), čtení proběhne úspěšně | Selhání (412) |
Čtení pomocí (B) | Selhání (412) | Selhání (409) | Selhání (412) |
Čtení bez zadaného zapůjčení | K dispozici, čtení je úspěšné. | Zapůjčení (A), čtení proběhne úspěšně | Přerušeno (A), čtení proběhne úspěšně. |
Výsledky operací zapůjčení souborů podle stavu zapůjčení
Akce | K dispozici | Zapůjčeno (A) | Přerušeno (A) |
---|---|---|---|
Acquire , žádné navrhované ID zapůjčení |
Zapůjčeno (X) | Selhání (409) | Zapůjčeno (X) |
Acquire (A) |
Zapůjčeno (A) | Zapůjčeno (A) | Zapůjčeno (A) |
Acquire (B) |
Zapůjčeno (B) | Selhání (409) | Zapůjčeno (B) |
Break |
Selhání (409) | Přerušeno (A) | Přerušeno (A) |
Change , (A) až (B) |
Selhání (409) | Zapůjčeno (B) | Selhání (409) |
Change , (B) až (A) |
Selhání (409) | Zapůjčeno (A) | Selhání (409) |
Change , (B) až (C) |
Selhání (409) | Selhání (409) | Selhání (409) |
Release (A) |
Selhání (409) | K dispozici | K dispozici |
Release (B) |
Selhání (409) | Selhání (409) | Selhání (409) |