Sdílet prostřednictvím


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

  • Acquirepožádat o nové zapůjčení.
  • Changezmě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 Ano
NFS Bez

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

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

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

diagram znázorňující stavy zapůjčení souboru a triggery změn 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 lze 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 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)

Viz také