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 můžete volat Lease File
v jednom z následujících režimů:
-
Acquire
a požádat o nové zapůjčení. -
Change
, pokud chcete změnit ID existujícího zapůjčení. -
Release
, aby se zapůjčení uvolnilo, pokud už není potřeba, aby jiný klient mohl okamžitě získat zapůjčení souboru. -
Break
vynutit ukončení zapůjčení, ale zajistit, aby jiný klient nemohl získat nové zapůjčení, dokud neuplyne aktuální doba zapůjčení.
Dostupnost protokolu
Povolený protokol sdílených složek | K dispozici. |
---|---|
SMB | |
NFS |
Žádost
Požadavek můžete vytvořit Lease File
následujícím způsobem. Doporučuje se https.
Metoda | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
Put |
https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease |
HTTP/1.1 |
Následujícím způsobem nahraďte komponenty cesty uvedené v identifikátoru URI požadavku vlastními:
Komponenta Cesta | Description |
---|---|
myaccount |
Název vašeho účtu úložiště. |
myshare |
Název sdílené složky. |
mydirectorypath |
Nepovinný parametr. Cesta k adresáři. |
myfile |
Název souboru. |
Parametry identifikátoru URI
V identifikátoru URI požadavku můžete zadat následující další parametr.
Parametr | Popis |
---|---|
timeout |
Nepovinný parametr. Parametr timeout je vyjádřen 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 požadované a volitelné hlavičky požadavků.
Hlavička požadavku | Popis |
---|---|
Authorization |
Povinná hodnota. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků do služby Azure Storage. |
Date nebo x-ms-date |
Povinná hodnota. Určuje formát UTC (Coordinated Universal Time). Další informace najdete v tématu Autorizace požadavků do služby Azure Storage. |
x-ms-version |
Nepovinný parametr. Určuje verzi operace, která se má použít pro tento požadavek. 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 můžete zadat v libovolném platném x-ms-lease-id formátu řetězce GUID. Seznam platných formátů najdete v tématu Guid – konstruktor (String ). |
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> |
acquire : Požádá o nové zapůjčení. Pokud soubor nemá aktivní zapůjčení, Azure Files vytvoří zapůjčení souboru a vrátí nové ID zapůjčení. Pokud má soubor aktivní zapůjčení, můžete o nové zapůjčení požádat pouze pomocí ID aktivního zapůjčení.change : Změní ID zapůjčení aktivního zapůjčení. Musí change 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 ID zapůjčení zadané v žádosti odpovídá souboru. Uvolnění zapůjčení umožní jinému klientovi okamžitě získat zapůjčení souboru, jakmile se vydání dokončí.break : Pokud má soubor aktivní zapůjčení, přeruší zapůjčení. Jakákoli autorizovaná žádost může přerušit zapůjčení. 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 |
Povolené a povinné pouze u operace acquire . Vyžaduje se , -1 aby bylo možné označit zapůjčení, jehož platnost 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 tématu Guid – konstruktor (String ). |
x-ms-client-request-id |
Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu 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í Azure Files. |
x-ms-file-request-intent |
Vyžaduje se, pokud Authorization hlavička určuje token OAuth. Přijatelná hodnota je backup . Tato hlavička určuje, že Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action by se měly udělit nebo Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action , pokud jsou zahrnuté v zásadách RBAC přiřazených k identitě, která je autorizována pomocí hlavičky Authorization . K dispozici pro verzi 2022-11-02 a novější. |
x-ms-allow-trailing-dot: { <Boolean> } |
Nepovinný parametr. Verze 2022-11-02 a novější. Logická hodnota určuje, jestli se má v adrese URL požadavku oříznout koncová tečka, nebo ne. Další informace najdete v tématu Pojmenování sdílených složek, adresářů, souborů a metadat a odkazování na nich. |
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 testaccount1: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 najdete v tématu Stavové kódy a kódy chyb.
Hlavičky odpovědi
Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
Syntax | Description |
---|---|
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 neupravuje. |
Last-Modified |
Datum a čas poslední změny souboru. Další informace najdete v tématu Reprezentace hodnot data a času v záhlavích. Všechny operace zápisu do souboru, včetně aktualizací metadat nebo vlastností souboru, změní čas poslední změny souboru. Operace Lease File tuto vlastnost neupravuje. |
x-ms-lease-id: <id> |
Když požádáte o zapůjčení, vrátí Azure Files jedinečné ID zapůjčení. Pokud je zapůjčení aktivní, musíte ID zapůjčení zahrnout do všech žádostí o zápis do souboru nebo o změnu nebo uvolnění zapůjčení. Operace úspěšného obnovení také vrátí ID zapůjčení aktivního zapůjčení. |
x-ms-lease-time: seconds |
Vráceno pouze pro úspěšný požadavek na přerušení zapůjčení.
0 se vrátí pro okamžité přerušení. |
x-ms-request-id |
Jednoznačně identifikuje požadavek, který byl proveden, a lze ho 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 Azure Files použité ke spuštění požadavku. |
Date |
Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Tato 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ě x-ms-client-request-id hlavičky, pokud je v požadavku. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud hlavička x-ms-client-request-id v požadavku není, nebude 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>
Autorizace
Tuto operaci může volat vlastník účtu. Kromě toho to může udělat každý klient se sdíleným přístupovým podpisem, který má oprávnění k zápisu do tohoto souboru nebo jeho sdílené složky.
Poznámky
Zapůjčení souboru poskytuje výhradní přístup k zápisu a odstranění souboru. Pokud chce klient zapisovat do souboru s aktivním zapůjčením, musí do žádosti o zápis zahrnout ID aktivního zapůjčení. Zapůjčení se uděluje na neomezenou dobu.
Když klient získá zapůjčení, vrátí se ID zapůjčení. Azure Files vygeneruje ID zapůjčení, pokud není zadané v žádosti o získání. Klient může toto ID zapůjčení použít ke změně ID zapůjčení nebo k uvolnění zapůjčení.
Pokud je zapůjčení aktivní, musí být ID zapůjčení zahrnuto v žádosti o některou z následujících operací:
- Vytvořit soubor
- Nastavení metadat souboru
- Nastavení vlastností souboru
- Odstranění souboru
- Rozsah vložení
- Kopírovat soubor (PRO cílový soubor je potřeba ID zapůjčení.)
Pokud ID zapůjčení není zahrnuto, tyto operace selžou u zapůjčeného souboru s 412 – Precondition failed
.
U zapůjčeného souboru budou úspěšné následující operace bez zahrnutí ID zapůjčení:
- Získat soubor
- Získání metadat souboru
- Získání vlastností souboru
- Rozsahy seznamu
- Výpis adresářů a souborů
- Kopírovat soubor (pro zdrojový soubor není potřeba ID zapůjčení.)
-
Soubor zapůjčení (REST API) (pro
x-ms-lease-action: break
.) není potřeba ŽÁDNÉ ID zapůjčení.
Id zapůjčení operací u souboru s aktivním zapůjčením GET
není nutné uvádět. Všechny GET
operace 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é v požadavku je platné.
Všechny operace sdílené složky jsou povolené pro sdílenou složku, která zahrnuje soubory s aktivním zapůjčením, včetně odstranění sdílené složky. Proto můžete sdílenou složku odstranit, i když 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 je možné 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 zapůjčení souboru ve snímku sdílené složky nelze udělit, protože snímky jsou jen pro čtení. Žádost o zapůjčení souboru ve snímku sdílené složky má za následek stavový kód 400 (chybný požadavek).
Pokud je zapůjčení souboru ve stavu Poškozený a operace Put Range zapíše do souboru, stav zapůjčení se změní na K dispozici. Pokud má ale soubor nastavený atribut jen pro čtení, server vrátí konflikt 409.
Vlastnost souboru Last-Modified-Time
není aktualizována 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é Azure Files.
Výsledky pokusů o použití souborů podle stavu zapůjčení
Akce | K dispozici. | Zapůjčeno (A) | Poškozené (A) |
---|---|---|---|
Zápis pomocí (A) | Selhání (412) | Zapůjčeno (A), zápis proběhne úspěšně | Selhání (412) |
Zápis pomocí (B) | Selhání (412) | Selhání (409) | Selhání (412) |
Zápis, neurčené 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čeno (A), čtení proběhlo úspěšně | Selhání (412) |
Čtení pomocí (B) | Selhání (412) | Selhání (409) | Selhání (412) |
Čtení, neurčené zapůjčení | K dispozici, čtení bylo úspěšné | Zapůjčení (A), čtení bylo úspěšné | Přerušeno (A), čtení bylo úspěšné |
Výsledky operací zapůjčení souborů podle stavu zapůjčení
Akce | K dispozici. | Zapůjčeno (A) | Nefunkční (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) |
Pronajaté (B) | Selhání (409) | Pronajaté (B) |
Break |
Selhání (409) | Nefunkční (A) | Nefunkční (A) |
Change , (A) až (B) |
Selhání (409) | Pronajaté (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) |