Sdílet prostřednictvím


Zapůjčení kontejneru

Operace Lease Container vytvoří a spravuje zámek kontejneru pro operace odstranění. Doba trvání zámku může být 15 až 60 sekund nebo může být nekonečná.

Operaci můžete volat Lease Container v jednom z následujících režimů:

  • Acquirea požádat o nové zapůjčení.

  • Renew, abyste obnovili stávající 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í kontejneru.

  • Break, a ukončit zapůjčení, ale zajistit, aby jiný klient nemohl získat nové zapůjčení, dokud neuplyne aktuální doba zapůjčení.

Poznámka

Operace Lease Container je k dispozici ve verzi 2012-02-12 a novější.

Žádost

Požadavek můžete vytvořit Lease Container následujícím způsobem. Doporučuje se https. Nahraďte myaccount názvem vašeho účtu úložiště.

Metoda Identifikátor URI žádosti Verze PROTOKOLU HTTP
PUT https://myaccount.blob.core.windows.net/mycontainer?comp=lease&restype=container HTTP/1.1

Pokud chcete zadat kořenový kontejner, zadejte $root jako název kontejneru.

Identifikátor URI služby emulovaného úložiště

Když vytvoříte požadavek na službu emulovaného úložiště, zadejte název hostitele emulátoru a Azure Blob Storage port jako 127.0.0.1:10000, následovaný názvem emulovaného účtu úložiště.

Metoda Identifikátor URI žádosti Verze PROTOKOLU HTTP
PUT http://127.0.0.1:10000/mycontainer?comp=lease&restype=container HTTP/1.0

HTTP/1.1

Další informace najdete v tématu Použití emulátoru Azurite pro místní vývoj služby Azure Storage.

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 služby Blob Storage.

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 ¦ renew ¦ change ¦ release ¦ break> acquire: Požádá o nové zapůjčení. Pokud kontejner nemá aktivní zapůjčení, blob Storage vytvoří zapůjčení kontejneru a vrátí nové ID zapůjčení. Pokud má kontejner aktivní zapůjčení, můžete o nové zapůjčení požádat pouze pomocí ID aktivního zapůjčení. Můžete ale zadat nový x-ms-lease duration, včetně záporného (-1) pro zapůjčení, jehož platnost nikdy nevyprší.

renew: Prodlouží zapůjčení. Zapůjčení můžete prodloužit, pokud ID zapůjčení zadané v žádosti odpovídá id zapůjčení přidružené ke kontejneru. Mějte na paměti, že zapůjčení je možné prodloužit i v případě, že vypršela jeho platnost, pokud se kontejner od vypršení platnosti zapůjčení znovu nepronajal. Při prodloužení zapůjčení se doba trvání zapůjčení resetuje.

change: Změňte 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ěte zapůjčení. Zapůjčení můžete uvolnit, pokud id zapůjčení zadané v požadavku odpovídá id zapůjčení přidružené ke kontejneru. Uvolnění zapůjčení umožní jinému klientovi okamžitě získat zapůjčení kontejneru, jakmile se vydání dokončí.

break: Pokud má kontejner aktivní zapůjčení, přerušte zapůjčení. Po přerušení zapůjčení se nedá prodloužit. 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í. Pokud je zapůjčení přerušeno, může uplynout období přerušení zapůjčení. Během této doby můžete s kontejnerem provádět breakrelease pouze operace zapůjčení a zapůjčení. Pokud je zapůjčení úspěšně přerušeno, odpověď indikuje interval v sekundách, dokud nebude možné získat nové zapůjčení.

Může být také uvolněno zapůjčení, které bylo přerušeno. Klient může okamžitě získat zapůjčení kontejneru, které bylo uvolněno.
x-ms-lease-break-period: N Nepovinný parametr. break Pro operaci je tato hlavička navrženou dobou trvání, kterou by mělo zapůjčení pokračovat, než se přeruší, mezi 0 a 60 sekund. Toto období přestávky se použije pouze v případě, že je kratší než zbývající doba zapůjčení. Pokud je delší, použije se zbývající doba zapůjčení. Nové zapůjčení nebude k dispozici před vypršením doby přerušení, ale zapůjčení může být drženo déle, než je období přerušení. Pokud se tato hlavička nezobrazí u break operace, zapůjčení s pevnou dobou trvání se po uplynutí zbývající doby zapůjčení přeruší a nekonečné zapůjčení se okamžitě přeruší.
x-ms-lease-duration: -1 ¦ n seconds Vyžaduje se pro acquire. Určuje dobu zapůjčení v sekundách nebo zápornou (-1) pro zapůjčení, jehož platnost nikdy nevyprší. Nenekonečná zapůjčení může být 15 až 60 sekund. Dobu zapůjčení nelze změnit pomocí nebo renewchange.
x-ms-proposed-lease-id: <ID> Volitelné pro acquirea povinné pro change. Navrhované ID zapůjčení ve formátu řetězce GUID Blob Storage 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 ).
Origin Nepovinný parametr. Určuje původ, ze kterého je žádost vystavena. Přítomnost této hlavičky má za následek sdílení prostředků mezi zdroji (CORS) hlavičky v odpovědi. Podrobnosti najdete v tématu Podpora CORS pro služby Storage .
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 Blob Storage.

Tato operace také podporuje použití podmíněných hlaviček ke spuštění operace pouze v případě, že je splněna zadaná podmínka. Další informace najdete v tématu Určení podmíněných hlaviček pro operace služby Blob Storage.

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.blob.core.windows.net/mycontainer?restype=container&comp=lease HTTP/1.1  
  
Request Headers:  
x-ms-version: 2012-02-12  
x-ms-lease-action: acquire  
x-ms-lease-duration: -1  
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-date: Thu, 26 Jan 2012 23:30:18 GMT  
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).

  • Renew: Úspěšná operace vrátí stavový kód 200 (OK).

  • 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 Hodnota ETag pro kontejner. Tato hlavička se vrátí pro požadavky provedené ve verzi 2013-08-15 a novější a ETag hodnota je v uvozovkách. Lease Container operace provedené ve verzi 2013-08-15 a novější tuto vlastnost neupravují, ale předchozí verze ano.
Last-Modified Vráceno pro žádosti provedené ve verzi 2013-08-15 a novější. Vrátí datum a čas poslední změny kontejneru. Další informace najdete v tématu Reprezentace hodnot data a času v záhlavích.

Každá operace, která upraví kontejner nebo jeho vlastnosti či metadata, aktualizuje čas poslední změny. To zahrnuje nastavení oprávnění kontejneru. Operace s objekty blob nemají vliv na čas poslední změny kontejneru. Lease Container operace provedené ve verzi 2013-08-15 a novější tuto vlastnost neupravují, ale předchozí verze ano.
x-ms-lease-id: <id> Když požádáte o zapůjčení, vrátí Blob Storage jedinečné ID zapůjčení. Pokud je zapůjčení aktivní, musíte id zapůjčení zahrnout do všech žádostí o odstranění kontejneru nebo prodloužení, 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 Přibližný zbývající čas v období zapůjčení v sekundách Tato hlavička se vrátí pouze pro úspěšný požadavek na přerušení zapůjčení. Pokud je přerušení okamžité, vrátí se hodnota 0.
x-ms-request-id Tato hlavička jednoznačně identifikuje požadavek, který byl proveden, 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 Blob Storage použitou ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené ve verzi 2009-09-19 a novější.
Datum Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Tato služba vygeneruje tuto hodnotu.
Access-Control-Allow-Origin Vrátí se, pokud požadavek obsahuje hlavičku Origin a CORS je povolený s odpovídajícím pravidlem. Tato hlavička vrátí hodnotu hlavičky původního požadavku v případě shody.
Access-Control-Expose-Headers Vrátí se, pokud požadavek obsahuje hlavičku Origin a CORS je povolený s odpovídajícím pravidlem. Vrátí seznam hlaviček odpovědi, které mají být zpřístupněny klientovi nebo vystaviteli požadavku.
Access-Control-Allow-Credentials Vrátí se, pokud požadavek obsahuje hlavičku Origin a CORS je povolený s odpovídajícím pravidlem, které nepovoluje všechny zdroje. Toto záhlaví bude nastaveno na true.
x-ms-client-request-id Tuto hlavičku můžete 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-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2012-02-12  
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
Date: Thu, 26 Jan 2012 23:30:18 GMT  
  

Autorizace

Při volání jakékoli operace přístupu k datům ve službě Azure Storage se vyžaduje autorizace. Operaci můžete autorizovat Lease Container , jak je popsáno v následujících částech.

Důležité

Microsoft doporučuje používat Microsoft Entra ID se spravovanými identitami k autorizaci požadavků do služby Azure Storage. Microsoft Entra ID ve srovnání s autorizací sdíleného klíče poskytuje vynikající zabezpečení a snadné použití.

Azure Storage podporuje autorizaci požadavků na data objektů blob pomocí Microsoft Entra ID. S Microsoft Entra ID můžete pomocí řízení přístupu na základě role v Azure (Azure RBAC) udělit oprávnění k objektu zabezpečení. Objektem zabezpečení může být uživatel, skupina, instanční objekt aplikace nebo spravovaná identita Azure. Objekt zabezpečení je ověřen Microsoft Entra ID, aby vrátil token OAuth 2.0. Token se pak dá použít k autorizaci požadavku ve službě Blob Storage.

Další informace o autorizaci pomocí Microsoft Entra ID najdete v tématu Autorizace přístupu k objektům blob pomocí Microsoft Entra ID.

Oprávnění

Následující akce RBAC jsou nezbytné pro volání operace Microsoft Entra uživatele, skupiny, spravované identity nebo instančního objektu Lease Container a nejméně privilegované integrované role Azure RBAC, která tuto akci zahrnuje:

Další informace o přiřazování rolí pomocí Azure RBAC najdete v tématu Přiřazení role Azure pro přístup k datům objektů blob.

Poznámky

Zapůjčení kontejneru poskytuje výhradní přístup k odstranění kontejneru. Zapůjčení kontejneru řídí pouze možnost odstranit kontejner pomocí operace Odstranit kontejner . Pokud chcete odstranit kontejner s aktivním zapůjčením, musí klient do žádosti o odstranění zahrnout ID aktivního zapůjčení. Pokud ID zapůjčení není zahrnuto, operace selže s chybou 412 (Předběžná podmínka selhala). Všechny ostatní operace kontejneru jsou u zapůjčeného kontejneru úspěšné bez zahrnutí ID zapůjčení. Zapůjčení se uděluje na dobu zadanou při získání zapůjčení, což může být 15 až 60 sekund nebo nekonečná doba trvání.

Když klient získá zapůjčení, vrátí se ID zapůjčení. Blob Storage vygeneruje ID zapůjčení, pokud není zadané v žádosti o získání. Klient může toto ID zapůjčení použít k obnovení zapůjčení, změně ID zapůjčení nebo k uvolnění zapůjčení. Následující diagram znázorňuje možné stavy zapůjčení a příkazy nebo události, které způsobují změny stavu zapůjčení.

Diagram stavů zapůjčení kontejneru a aktivačních událostí změny stavu

Zapůjčení může být v jednom z pěti stavů na základě toho, jestli je zapůjčení uzamčené nebo odemčené 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.

Stav prodloužení Uzamčené zapůjčení Odemknuté zapůjčení
Obnovitelná leasing Pronajatých Platnost vypršela
Neobnovitelný pronájem Narušující Nefunkční, k dispozici
  • Available, zapůjčení je odemknuté a lze jej získat. Povolená akce: acquire.

  • Leased, zapůjčení je uzamčeno. Povolené akce: acquire (pouze stejné ID zapůjčení), renew, change, releasea break.

  • Expired, doba trvání zapůjčení vypršela. Povolené akce: acquire, renew, releasea break.

  • Breaking, zapůjčení bylo přerušeno, ale zapůjčení bude dál uzamčeno, dokud neuplyne doba přerušení. Povolené akce: release a break.

  • Broken, zapůjčení bylo přerušeno a vypršela doba přerušení. Povolené akce: acquire, releasea break.

Blob Storage udržuje ID zapůjčení po vypršení platnosti zapůjčení kontejneru. Klient může prodloužit nebo uvolnit zapůjčení pomocí ID zapůjčení, jehož platnost vypršela. Pokud se klient pokusí obnovit nebo uvolnit zapůjčení s předchozím ID zapůjčení, jehož platnost vypršela, a požadavek selže, kontejner se zapůjčení znovu zapůjčí nebo odstraní, protože zapůjčení klienta bylo naposledy aktivní.

Pokud zapůjčení vyprší, místo aby se explicitně uvolnilo, klient možná bude muset počkat až jednu minutu, než bude možné získat nové zapůjčení pro kontejner. Klient ale může zapůjčení okamžitě obnovit s ID zapůjčení, jehož platnost vypršela.

Vlastnost kontejneru Last-Modified-Time se neaktualizuje voláním .Lease Container

Následující tabulky ukazují výsledky akcí s kontejnery 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 Blob Storage.

Výsledky pokusů o použití kontejnerů podle stavu zapůjčení

Akce K dispozici. Zapůjčeno (A) Lámání (A) Nefunkční (A) Platnost vypršela (A)
Odstranit pomocí (A) Selhání (412) Zapůjčení (A), odstranění bylo úspěšné Rozbíjecí (A), odstranění bylo úspěšné Selhání (412) Selhání (412)
Odstranit pomocí (B) Selhání (412) Selhání (409) Selhání (412) Selhání (412) Selhání (412)
Odstranění, nezadá zapůjčení K dispozici, odstranění bylo úspěšné Selhání (412) Selhání (412) K dispozici, odstranění bylo úspěšné K dispozici, odstranění bylo úspěšné
Další operace s (A) Selhání (412) Zapůjčení (A), operace je úspěšná Přerušení (A), operace je úspěšná Selhání (412) Selhání (412)
Další operace s (B) Selhání (412) Selhání (409) Selhání (409) Selhání (412) Selhání (412)
Operace, neurčené zapůjčení K dispozici, operace je úspěšná Zapůjčení (A), operace je úspěšná Přerušení (A), operace je úspěšná Přerušeno (A), operace je úspěšná Vypršela (A), operace je úspěšná

Výsledky operací zapůjčení kontejnerů podle stavu zapůjčení

Akce K dispozici. Zapůjčeno (A) Lámání (A) Nefunkční (A) Platnost vypršela (A)
Acquire, žádné navrhované ID zapůjčení Zapůjčeno (X) Selhání (409) Selhání (409) Zapůjčeno (X) Zapůjčeno (X)
Acquire (A) Zapůjčeno (A) Zapůjčeno (A), nová doba trvání Selhání (409) Zapůjčeno (A) Zapůjčeno (A)
Acquire (B) Pronajaté (B) Selhání (409) Selhání (409) Pronajaté (B) Pronajaté (B)
Break, tečka=0 Selhání (409) Nefunkční (A) Nefunkční (A) Nefunkční (A) Nefunkční (A)
Break, období>0 Selhání (409) Lámání (A) Lámání (A) Nefunkční (A) Nefunkční (A)
Change, (A) až (B) Selhání (409) Pronajaté (B) Selhání (409) Selhání (409) Selhání (409)
Change, (B) až (A) Selhání (409) Zapůjčeno (A) Selhání (409) Selhání (409) Selhání (409)
Change, (B) až (C) Selhání (409) Selhání (409) Selhání (409) Selhání (409) Selhání (409)
Renew (A) Selhání (409) Zapůjčení (A), resetování hodin vypršení platnosti Selhání (409) Selhání (409) Zapůjčeno (A)
Renew (B) Selhání (409) Selhání (409) Selhání (409) Selhání (409) Selhání (409)
Release (A) Selhání (409) K dispozici. K dispozici. K dispozici. K dispozici.
Release (B) Selhání (409) Selhání (409) Selhání (409) Selhání (409) Selhání (409)
Doba trvání vyprší K dispozici. Platnost vypršela (A) Nefunkční (A) Nefunkční (A) Platnost vypršela (A)

Fakturace

Požadavky na ceny můžou pocházet od klientů, kteří používají rozhraní API služby Blob Storage, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny služby Azure Storage. Za tyto žádosti se účtují poplatky za každou transakci. Typ transakce ovlivňuje způsob účtování za účet. Například transakce čtení se načítají do jiné kategorie fakturace než transakce zápisu. Následující tabulka uvádí kategorii fakturace pro Lease Container žádosti založené na typu účtu úložiště:

Operace Typ účtu úložiště Kategorie fakturace
Zapůjčení kontejneru (získání, vydání, prodloužení) Objekt blob bloku úrovně Premium
Standard pro obecné účely v2
Další operace
Zapůjčení kontejneru (získání, vydání, prodloužení) Standard pro obecné účely v1 Operace čtení
Zapůjčení kontejneru (přerušení, změna) Objekt blob bloku úrovně Premium
Standard pro obecné účely v2
Další operace
Zapůjčení kontejneru (přerušení, změna) Standard pro obecné účely v1 Operace zápisu

Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.

Viz také

Autorizace požadavků do Služby Azure Storage
Stavové kódy a kódy chyb
Kódy chyb služby Blob Storage
Operace Lease Blob