Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas tworzenia aplikacji do pracy z zasobami danych w usłudze Azure Blob Storage kod wchodzi głównie w interakcję z trzema typami zasobów: kontami magazynu, kontenerami i obiektami blob. W tym artykule opisano te typy zasobów i pokazano, jak są one ze sobą powiązane. Pokazano również, jak kod aplikacji używa bibliotek klienckich usługi Azure Blob Storage do interakcji z tymi różnymi zasobami.
Typy zasobów usługi Blob Storage
Biblioteki klienta usługi Azure Blob Storage umożliwiają interakcję z trzema typami zasobów w usłudze magazynu:
Na poniższym diagramie przedstawiono relację między tymi zasobami:
Konta magazynu
Konto magazynu zapewnia unikatową przestrzeń nazw na Azure dla Twoich danych. Każdy obiekt przechowywany w usłudze Azure Storage ma adres zawierający unikatową nazwę konta. Kombinacja nazwy konta i punktu końcowego usługi Blob Storage stanowi podstawowy adres dla obiektów na koncie magazynu.
Jeśli na przykład konto magazynu ma nazwę sampleaccount, domyślnym punktem końcowym usługi Blob Storage jest:
https://sampleaccount.blob.core.windows.net
Aby dowiedzieć się więcej o typach kont przechowywania, zobacz Omówienie konta usługi Azure Storage.
Pojemniki
Kontener organizuje zestaw blobów, podobnie jak katalog w systemie plików. Konto magazynowe może zawierać nieograniczoną liczbę kontenerów, a kontener może przechowywać nieograniczoną liczbę blobów.
Identyfikator URI kontenera jest podobny do następującego:
https://sampleaccount.blob.core.windows.net/sample-container
Aby uzyskać więcej informacji na temat nazewnictwa kontenerów, zobacz Nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych.
Blobów
Usługa Azure Storage obsługuje trzy typy obiektów blob:
- Blokowe obiekty blob przechowują dane tekstowe i binarne. Blokowe obiekty blob składają się z bloków danych, którymi można zarządzać osobno. Bloby blokowe mogą przechowywać do około 190,7 TiB.
- Obiekty blob do dołączania składają się z bloków, takich jak blokowe obiekty blob, ale są zoptymalizowane pod kątem operacji dołączania. Append blob są idealne do zastosowań, takich jak rejestrowanie danych z maszyn wirtualnych.
- Stronicowe obiekty blob przechowują pliki z dostępem losowym o rozmiarze do 8 TiB. Aby uzyskać więcej informacji na temat stronicowych obiektów blob, zobacz Omówienie stronicowych obiektów blob platformy Azure
Aby uzyskać więcej informacji na temat różnych typów obiektów blob, zobacz Zrozumienie blokowych blobów, blobów dołączanych i blobów stronicowych.
Identyfikator URI obiektu blob jest podobny do poniższego:
https://sampleaccount.blob.core.windows.net/sample-container/sample-blob
Aby uzyskać więcej informacji na temat obiektów blob, zobacz Nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych.
Praca z zasobami danych przy użyciu zestawu Azure SDK
Zestawy SDK platformy Azure zawierają biblioteki oparte na interfejsie API REST platformy Azure, które umożliwiają interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów języka programowania. Zestawy SDK zostały zaprojektowane w celu uproszczenia interakcji między aplikacją a zasobami platformy Azure.
W rzadkich scenariuszach aplikacje, które zostały uaktualnione do najnowszej wersji beta lub ogólnie dostępnej wersji zestawu SDK, mogą otrzymać komunikat o błędzie InvalidHeaderValue. Ten problem może wystąpić podczas korzystania z dowolnej biblioteki pamięci. Komunikat o błędzie wygląda podobnie do następującego przykładu:
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>
Jeśli przeprowadzono uaktualnienie do najnowszej wersji beta lub ogólnie dostępnej wersji zestawu SDK i wystąpi ten błąd, zaleca się obniżenie poziomu do poprzedniej ogólnie dostępnej wersji zestawu SDK, aby sprawdzić, czy problem zostanie rozwiązany.
Szczegółowe informacje dotyczące zestawu SDK można wyświetlić w następujących lokalizacjach:
Jeśli problem będzie się powtarzać lub jeśli zalecenie nie jest wykonalne, otwórz zgłoszenie do wsparcia technicznego, aby rozważyć dalsze opcje.
W bibliotekach klienta usługi Azure Blob Storage każdy typ zasobu jest reprezentowany przez co najmniej jedną skojarzona klasę. Te klasy zapewniają operacje do pracy z zasobem usługi Azure Storage.
W poniższej tabeli wymieniono podstawowe klasy wraz z krótkim opisem:
| Klasa | Opis |
|---|---|
| BlobServiceClient | Reprezentuje konto magazynu i udostępnia operacje pobierania oraz konfigurowania właściwości konta, a także zarządzania kontenerami blob w koncie magazynu. |
| BlobContainerClient | Reprezentuje określony kontener blobów i zapewnia operacje do zarządzania kontenerem oraz blobami w jego obrębie. |
| BlobClient | Reprezentuje określony blob i zapewnia ogólne operacje do pracy z nim, w tym operacje wysyłania, pobierania, usuwania i tworzenia migawek. |
| AppendBlobClient | Reprezentuje bloby dołączalne i udostępnia operacje specyficzne dla blobów dołączalnych, takie jak dołączanie danych dziennika. |
| BlockBlobClient | Reprezentuje blokowy blob i udostępnia operacje specyficzne dla blokowych blobów, takich jak tworzenie wstępnej wersji, a następnie zatwierdzanie bloków danych. |
Następujące pakiety zawierają klasy używane do pracy z zasobami danych usługi Blob Storage:
- Azure.Storage.Blobs: zawiera klasy podstawowe (obiekty klienta), których można użyć do obsługi usługi, kontenerów i obiektów blob.
- Azure.Storage.Blobs.Specialized: zawiera klasy, których można użyć do wykonywania operacji specyficznych dla typu obiektu blob, na przykład bloby blokowe.
- Azure.Storage.Blobs.Models: wszystkie inne klasy narzędzi, struktury i typy wyliczenia.
Następne kroki
Praca z zasobami platformy Azure przy użyciu zestawu SDK rozpoczyna się od utworzenia wystąpienia klienta. Aby dowiedzieć się więcej na temat tworzenia obiektów klienta i zarządzania nimi, zobacz Tworzenie obiektów klienta korzystających z zasobów danych i zarządzanie nimi.