Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
При создании приложений для работы с ресурсами данных в хранилище BLOB-объектов Azure ваш код в основном взаимодействует с тремя типами ресурсов: учетными записями хранилища, контейнерами и BLOB-объектами. В этой статье объясняется эти типы ресурсов и показано, как они связаны друг с другом. В нем также показано, как код приложения использует клиентские библиотеки хранилища BLOB-объектов Azure для взаимодействия с этими различными ресурсами.
Типы ресурсов Blob-хранилища
Клиентские библиотеки Azure Blob Storage позволяют взаимодействовать с тремя типами ресурсов, предоставляемыми службой хранения.
На следующей схеме показана связь между этими ресурсами:
Учетные записи хранения
Учетная запись хранения предоставляет уникальное пространство имен в Azure для ваших данных. Каждый объект, который вы храните в службе хранилища Azure, имеет адрес, содержащий уникальное имя учетной записи. Сочетание имени учетной записи и конечной точки Blob-хранилища формирует базовый адрес для объектов в учетной записи.
Например, если учетная запись хранения называется sampleaccount, то конечная точка по умолчанию для Blob-хранилища:
https://sampleaccount.blob.core.windows.net
Дополнительные сведения о типах учетных записей хранения см. в обзоре учетной записи хранения Azure.
Контейнеры
Контейнер организует набор блобов, аналогично каталогу в файловой системе. Учетная запись хранения может включать неограниченное количество контейнеров, а контейнер может содержать неограниченное количество блобов.
Универсальный код ресурса (URI) для контейнера аналогичен:
https://sampleaccount.blob.core.windows.net/sample-container
Для получения дополнительных сведений об именовании контейнеров см. раздел «Именование и ссылки на контейнеры, блобы и метаданные».
Блобсы
Служба хранилища Azure поддерживает три типа объектов BLOB:
- Блочные большие двоичные объекты хранят текстовые и двоичные данные. Блобы-блоки состоят из блоков данных, которыми можно управлять отдельно. Блочные блобы могут хранить до приблизительно 190,7 ТиБ.
- Дополняемые двоичные объекты состоят из блоков, как обычные блочные объекты, но оптимизированы для операций добавления. Блобы добавления идеально подходят для сценариев, таких как ведение журналов данных с виртуальных машин.
- Страничные BLOB-объекты хранят файлы с произвольным доступом размером до 8 ТиБ. Дополнительные сведения о страничных BLOB-объектах см. в статье "Обзор страничных BLOB-объектов Azure"
Дополнительные сведения о различных типах BLOB-объектов см. в разделе Общие сведения о блобах блоков, блобах добавления и блобах страниц.
Универсальный идентификатор ресурса (URI) для BLOB аналогичен следующему:
https://sampleaccount.blob.core.windows.net/sample-container/sample-blob
Дополнительные сведения об именовании больших двоичных объектов см. в разделе Именование и ссылки на контейнеры, большие двоичные объекты и метаданные.
Работа с ресурсами данных с помощью пакета SDK Для Azure
Пакеты SDK Azure содержат библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API с помощью знакомых парадигм языка программирования. Пакеты SDK предназначены для упрощения взаимодействия между приложением и ресурсами Azure.
В редких случаях приложения, обновленные до последней бета-версии или общедоступной версии SDK, могут получить сообщение об ошибке InvalidHeaderValue. Эта проблема может возникнуть при использовании любой из библиотек хранения данных. Сообщение об ошибке похоже на следующий пример:
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>
Если вы обновили SDK до последней бета-версии или общей доступной версии и сталкиваетесь с этой ошибкой, рекомендуется понизить версию до предыдущей общей доступной версии SDK, чтобы посмотреть, решится ли проблема.
Сведения о пакете SDK можно просмотреть в следующих расположениях:
Если проблема сохраняется или рекомендация неосуществима, откройте заявку в службу поддержки, чтобы рассмотреть дальнейшие варианты.
В клиентских библиотеках хранилища BLOB-объектов Azure каждый тип ресурса представлен одним или несколькими связанными классами. Эти классы предоставляют операции для работы с ресурсом службы хранилища Azure.
В следующей таблице перечислены основные классы, а также краткое описание:
| Класс | Описание |
|---|---|
| BlobServiceClient | Представляет учетную запись для хранения и предоставляет операции для получения и настройки свойств учетной записи, а также для работы с контейнерами объектов BLOB в учетной записи для хранения. |
| BlobContainerClient | Представляет конкретный контейнер для файлов BLOB и предоставляет операции для работы с контейнером и BLOB-объектами внутри. |
| BlobClient | Представляет конкретный двоичный объект и предоставляет общие операции для работы с ним, включая загрузку, скачивание, удаление и создание моментальных снимков. |
| AppendBlobClient | Представляет блобы добавления и предоставляет операции, специфичные для них, например, добавление данных логов. |
| BlockBlobClient | Представляет блок-блоб и предоставляет операции, относящиеся к блок-блобам, например, подготовке к и последующему закреплению блоков данных. |
Следующие пакеты содержат классы, используемые для работы с ресурсами данных хранилища объектов Blob:
- Azure.Storage.Blobs: содержит основные классы (клиентские объекты), которые можно использовать для работы со службой, контейнерами и BLOB-объектами.
- Azure.Storage.Blobs.Specialized: содержит классы, которые можно использовать для выполнения операций, относящихся к типу BLOB-объектов, например блочных BLOB-объектов.
- Azure.Storage.Blobs.Models: все остальные вспомогательные классы, структуры и типы перечислений.
Дальнейшие действия
Работа с ресурсами Azure с помощью пакета SDK начинается с создания экземпляра клиента. Дополнительные сведения о создании и управлении клиентскими объектами см. в статье "Создание клиентских объектов и управление ими", взаимодействующих с ресурсами данных.