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) |