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ů:
Acquire
, pokud chcete požádat o nové zapůjčení.Renew
, aby se obnovilo stávající zapůjčení.Change
, pokud chcete změnit ID existujícího zapůjčení.Release
, abyste uvolnili zapůjčení, pokud už ho nepotřebujete, aby jiný klient mohl okamžitě získat zapůjčení kontejneru.Break
, abyste zapůjčení ukončili, ale zajistili, že jiný klient nebude moct získat nové zapůjčení, dokud neuplyne aktuální doba zapůjčení.
Poznámka
Operace Lease Container
je dostupná ve verzi 2012-02-12 a novější.
Žádost
Požadavek můžete sestavit 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, jako název kontejneru zadejte $root
.
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 vývoj v místním úložišti 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 se timeout vyjadřuje 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á 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 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 Konstruktor Guid (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é hodnoty (-1) pro zapůjčení, jehož platnost nikdy nevyprší.renew : Prodlouží zapůjčení. Zapůjčení můžete obnovit, pokud ID zapůjčení zadané v žádosti odpovídá ID přidružené ke kontejneru. Mějte na paměti, že zapůjčení je možné obnovit i v případě, že jeho platnost vypršela, pokud se kontejner od vypršení platnosti zapůjčení znovu nepronajal. Při obnovení zapůjčení se resetují hodiny doby trvání zapůjčení.change : Změňte ID zapůjčení aktivního zapůjčení. Objekt change musí 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ěte zapůjčení. Zapůjčení můžete uvolnit, pokud ID zapůjčení zadané v požadavku odpovídá ID 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 uvolnění dokončí.break : Přerušení zapůjčení, pokud má kontejner aktivní zapůjčení. Když je zapůjčení přerušené, nepůjde obnovit. 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í. Když je zapůjčení přerušené, může uplynout období přerušení zapůjčení. Během této doby můžete provádět break pouze operace zapůjčení a release zapůjčení kontejneru. Když se zapůjčení úspěšně přeruší, odpověď indikuje interval v sekundách, než bude možné získat nové zapůjčení.Můžete také uvolnit 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 U operace je tato hlavička navrženou dobou trvání zapůjčení, než se přeruší, mezi 0 a 60 sekund. Toto období přestávky se použije jenom v případě, že je kratší než zbývající doba zapůjčení. Pokud je delší, použije se zbývající čas zapůjčení. Nové zapůjčení nebude k dispozici před vypršením doby pozastavení, ale zapůjčení může být drženo déle, než je doba pozastavení. 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 dobu (-1) pro zapůjčení, jehož platnost nikdy nevyprší. Nenekonečná zapůjčení může být mezi 15 a 60 sekund. Dobu zapůjčení není možné změnit pomocí nebo renew change . |
x-ms-proposed-lease-id: <ID> |
Volitelné pro acquire a povinné pro change . Navrhované ID zapůjčení ve formátu řetězce GUID Blob Storage se 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 Konstruktor Guid (String). |
Origin |
Nepovinný parametr. Určuje původ, ze kterého je žádost vystavena. Přítomnost této hlavičky má za následek hlavičky sdílení prostředků mezi zdroji (CORS) 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.
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 nebo instančního objektu Lease Container
a nejméně privilegované integrované role Azure RBAC, která tuto akci zahrnuje:
- Akce Azure RBAC: Microsoft.Storage/storageAccounts/blobServices/containers/write
- Nejméně privilegovaná předdefinovaná role: Přispěvatel dat v objektech blob služby Storage
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 určenou 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 prodloužení zapůjčení, ke 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í.
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í | Odemčené zapůjčení |
---|---|---|
Pronájem obnovitelných zdrojů | Pronajatých | Platnost vypršela |
Neobnovitelné zapůjčení | 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
,release
abreak
.Expired
, doba zapůjčení vypršela. Povolené akce:acquire
,renew
release
, abreak
.Breaking
, zapůjčení bylo přerušeno, ale zapůjčení bude dál uzamčeno, dokud nevypršela doba přerušení. Povolené akce:release
abreak
.Broken
, zapůjčení bylo přerušeno a vypršela doba přerušení. Povolené akce:acquire
,release
abreak
.
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í prodloužit nebo uvolnit zapůjčení, jehož platnost vypršela, s předchozím ID zapůjčení a požadavek selže, pak se kontejner znovu zapůjčí nebo odstraní, protože zapůjčení klienta bylo naposledy aktivní.
Pokud zapůjčení vyprší místo explicitního vydání, může klient čekat až jednu minutu, než bude možné získat nové zapůjčení kontejneru. Klient však může okamžitě prodloužit zapůjčení 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í u kontejnerů 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) | Rozbít (A) | Poškozené (A) | Vypršela (A) |
---|---|---|---|---|---|
Odstranit pomocí (A) | Selhání (412) | Zapůjčeno (A), odstranění proběhlo úspěšně | Přerušení (A), odstranění proběhlo ú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) |
Odstranit, nezadá se zapůjčení | K dispozici, odstranění proběhlo úspěšně | Selhání (412) | Selhání (412) | K dispozici, odstranění proběhlo úspěšně | K dispozici, odstranění proběhlo úspěšně |
Další operace s (A) | Selhání (412) | Zapůjčeno (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, nezadá se zapůjčení | K dispozici, operace je úspěšná | Zapůjčeno (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) | Rozbít (A) | Poškozené (A) | 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