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ů:

  • Acquirea 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.
  • Breakvynutit 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 Ano
NFS No

Žá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-ida 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 , -1aby bylo možné označit zapůjčení, jehož platnost nikdy nevyprší.
x-ms-proposed-lease-id: <ID> Volitelné pro acquirea 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í:

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í:

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í.

Diagram znázorňující stavy zapůjčení souboru a aktivační události změny stavu

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, releasea break.
  • Broken: Zapůjčení bylo přerušeno. Povolené akce: acquire, releasea break.

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)

Viz také