Sdílet prostřednictvím


Vysvětlení interakce aplikací s datovými prostředky blob Storage

Při vytváření aplikací pro práci s datovými prostředky ve službě Azure Blob Storage váš kód primárně komunikuje se třemi typy prostředků: účty úložiště, kontejnery a objekty blob. Tento článek vysvětluje tyto typy prostředků a ukazuje, jak vzájemně souvisí. Ukazuje také, jak kód aplikace používá klientské knihovny Azure Blob Storage k interakci s těmito různými prostředky.

Typy prostředků služby Blob Storage

Klientské knihovny Azure Blob Storage umožňují interakci se třemi typy prostředků ve službě úložiště:

Následující diagram znázorňuje vztah mezi těmito prostředky:

Diagram znázorňující vztah mezi účtem úložiště, kontejnery a datovými objekty

Účty úložiště

Účet úložiště poskytuje jedinečný obor názvů v Azure pro vaše data. Každý objekt, který ukládáte ve službě Azure Storage, má adresu, která obsahuje váš jedinečný název účtu. Kombinace názvu účtu a koncového bodu služby Blob Storage tvoří základní adresu objektů v účtu úložiště.

Pokud má například váš účet úložiště název sampleaccount, výchozí koncový bod pro Blob Storage je:

https://sampleaccount.blob.core.windows.net

Chcete-li se dozvědět více o typech účtů úložišť, podívejte se na Přehled účtů úložišť Azure.

Kontejnery

Kontejner uspořádá sadu objektů blob, podobně jako adresář v systému souborů. Účet úložiště může obsahovat neomezený počet kontejnerů a kontejner může obsahovat neomezený počet blobů.

Identifikátor URI kontejneru je podobný následujícímu:

https://sampleaccount.blob.core.windows.net/sample-container

Další informace o pojmenování kontejnerů najdete v tématu Pojmenování a odkazování na kontejnery, objekty blob a metadata.

Kuličky

Azure Storage podporuje tři typy objektů blob:

  • objekty blob bloku ukládají textová a binární data. Blokové blobu se skládají z bloků dat, které mohou být spravovány jednotlivě. Blokové blob objekty mohou ukládat až 190,7 TiB.
  • Příponové objekty blob se skládají z bloků podobně jako objekty blob bloku, ale jsou optimalizované pro operace připojení. Doplňovací blob jsou ideální pro scénáře, jako je protokolování dat z virtuálních počítačů.
  • Stránkové blob objekty ukládají soubory s náhodným přístupem až do velikosti 8 TiB. Další informace o objektech blob stránky najdete v tématu Přehled objektů blob stránky Azure.

Pro více informací o různých typech objektů blob si přečtěte kapitolu Principy blokových objektů blob, doplňovacích objektů blob a stránkových objektů blob.

Identifikátor URI objektu blob je podobný následujícímu:

https://sampleaccount.blob.core.windows.net/sample-container/sample-blob

Další informace o pojmenování objektů blob najdete v tématu Pojmenování a odkazování na kontejnery, objekty blob a metadata.

Práce s datovými prostředky pomocí sady Azure SDK

Sady Azure SDK obsahují knihovny, které vycházejí z rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat programovacího jazyka. Sady SDK jsou navržené tak, aby zjednodušily interakce mezi vaší aplikací a prostředky Azure.

Ve výjimečných scénářích můžou aplikace, které upgradovaly na nejnovější beta nebo obecně dostupnou verzi sady SDK, obdržet chybovou zprávu InvalidHeaderValue. K tomuto problému může dojít při použití některé z knihoven úložiště. Chybová zpráva vypadá podobně jako v následující ukázce:

HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
 
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>

Pokud jste upgradovali na nejnovější beta nebo obecně dostupnou verzi sady SDK a dochází k této chybě, doporučujeme downgradovat na předchozí obecně dostupnou verzi sady SDK, abyste zjistili, jestli se problém vyřeší.

Podrobnosti specifické pro sadu SDK můžete zobrazit na následujících místech:

Pokud problém přetrvává nebo pokud doporučení není možné, otevřete lístek podpory a prozkoumejte další možnosti.

V klientských knihovnách Azure Blob Storage je každý typ prostředku reprezentován jednou nebo více přidruženými třídami. Tyto třídy poskytují operace pro práci s prostředkem azure Storage.

Následující tabulka uvádí základní třídy spolu s stručným popisem:

Třída Popis
BlobServiceClient Představuje účet úložiště a umožňuje operace pro načtení a konfiguraci vlastností účtu a pro práci s kontejnery blobů v účtu úložiště.
BlobContainerClient Představuje konkrétní blob kontejner a poskytuje operace pro práci s kontejnerem a objekty blob uvnitř.
BlobClient Představuje konkrétní objekt blob a poskytuje obecné operace pro práci s objektem blob, včetně operací pro nahrávání, stahování, odstraňování a vytváření snímků.
AppendBlobClient Představuje objekt append blob a poskytuje operace specifické pro append blob, například připojení dat protokolu.
BlockBlobClient Reprezentuje blokový blob a poskytuje operace specifické pro blokové blobové, jako je příprava a poté potvrzení bloků dat.

Následující balíčky obsahují třídy používané k práci s datovými prostředky služby Blob Storage:

  • Azure.Storage.Blobs: Obsahuje primární třídy (klientské objekty), které můžete použít k provozu se službou, kontejnery a objekty blob.
  • Azure.Storage.Blobs.Specialized: Obsahuje třídy, které můžete použít k provádění operací specifických pro různé typy datových objektů blob, jako jsou blokové objekty blob.
  • Azure.Storage.Blobs.Models: Všechny ostatní třídy, struktury a typy výčtů.

Další kroky

Práce s prostředky Azure pomocí sady SDK začíná vytvořením instance klienta. Další informace o vytváření a správě klientských objektů najdete v tématu Vytváření a správa klientských objektů, které pracují s datovými prostředky.