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
a 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-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 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 break release 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 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 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:
- 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 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í.
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
,release
abreak
.Expired
, doba trvání 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 neuplyne 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í 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