Сведения о взаимодействии приложений с ресурсами данных хранилища BLOB-объектов
При создании приложений для работы с ресурсами данных в Хранилище BLOB-объектов Azure код в основном взаимодействует с тремя типами ресурсов: учетными записями хранения, контейнерами и BLOB-объектами. В этой статье описываются эти типы ресурсов и показано, как они связаны друг с другом. В нем также показано, как код приложения использует Хранилище BLOB-объектов Azure клиентские библиотеки для взаимодействия с этими различными ресурсами.
Типы ресурсов хранилища BLOB-объектов
Клиентские библиотеки Хранилище BLOB-объектов Azure позволяют взаимодействовать с тремя типами ресурсов в службе хранилища.
На следующей схеме показана связь между этими ресурсами:
Учетные записи хранения
Учетная запись хранения предоставляет для ваших данных уникальное пространство имен в Azure. У каждого объекта, который хранится в службе хранилища Azure, есть адрес, содержащий уникальное имя учетной записи. Сочетание имени учетной записи и конечной точки Хранилища BLOB-объектов формирует базовый адрес для объектов в учетной записи хранения.
Например, если ваша учетная запись хранения называется sampleaccount, то конечная точка по умолчанию для хранилища BLOB-объектов:
https://sampleaccount.blob.core.windows.net
Дополнительные сведения об типах учетных записей хранения Azure см. в этой статье.
Контейнеры
Контейнер упорядочивает набор больших двоичных объектов, как каталог в файловой системе. Учетная запись хранения может содержать неограниченное количество контейнеров. В каждом контейнере может храниться неограниченное количество больших двоичных объектов.
Универсальный код ресурса (URI) для контейнера аналогичен следующему:
https://sampleaccount.blob.core.windows.net/sample-container
Дополнительные сведения о контейнерах именования см. в статье Naming and Referencing Containers, Blobs, and Metadata (Именование контейнеров, больших двоичных объектов и метаданных и ссылка на них).
BLOB-объекты
Хранилище Azure поддерживает три типа больших двоичных объектов.
- Блочные BLOB-объекты хранят текст и двоичные данные. Блочные большие двоичные объекты состоят из блоков данных, которыми можно управлять отдельно. Блочные BLOB-объекты могут хранить до 190,7 ТиБ.
- Добавочные BLOB-объекты состоят из блоков, как и блочные, но оптимизированы для операций добавления. Добавочные большие двоичные объекты идеально подходят для таких сценариев, как сбор данных журналов из виртуальных машин.
- Страничные BLOB-объекты используются для хранения файлов прямого доступа объемом до 8 ТиБ. Дополнительные сведения о страничных BLOB-объектах см. в статье Общие сведения о страничных BLOB-объектах Azure.
Дополнительные сведения о различных больших двоичных объектах см. в статье Understanding Block Blobs, Append Blobs, and Page Blobs (Основные сведения о блочных, добавочных и страничных BLOB-объектах).
Универсальный код ресурса (URI) для большого двоичного объекта аналогичен следующему:
https://sampleaccount.blob.core.windows.net/sample-container/sample-blob
Дополнительные сведения о больших двоичных объектах именования см. в статье Именование контейнеров, больших двоичных объектов и метаданных и ссылка на них.
Работа с ресурсами данных с помощью пакета AZURE SDK
Пакеты SDK для Azure содержат библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы языка программирования. Пакеты SDK предназначены для упрощения взаимодействия между приложением и ресурсами Azure.
В клиентских библиотеках Хранилище BLOB-объектов Azure каждый тип ресурса представлен одним или несколькими связанными классами. Эти классы предоставляют операции для работы с ресурсом службы хранилища Azure.
В следующей таблице перечислены основные классы, а также краткое описание:
Класс | Описание |
---|---|
BlobServiceClient | Представляет учетную запись хранения и предоставляет операции для получения и настройки свойств учетной записи, а также для работы с контейнерами BLOB-объектов в учетной записи хранения. |
BlobContainerClient | Представляет конкретный контейнер BLOB-объектов и предоставляет операции для работы с контейнером и большими двоичными объектами внутри. |
BlobClient | Представляет определенный BLOB-объект и предоставляет общие операции для работы с большим двоичным объектом, включая операции по отправке, скачиванию, удалению и созданию моментальных снимков. |
AppendBlobClient | Представляет добавочный BLOB-объект и предоставляет операции, относящиеся к добавлению BLOB-объектов, например добавление данных журнала. |
BlockBlobClient | Представляет блочный BLOB-объект и предоставляет операции, характерные для блочных BLOB-объектов, такие как промежуточное хранение и фиксация блоков данных. |
Следующие пакеты содержат классы, используемые для работы с ресурсами данных хранилища BLOB-объектов:
- Azure.Storage.Blobs: содержит основные классы (клиентские объекты), которые можно использовать для работы со службой, контейнерами и BLOB-объектами.
- Azure.Storage.Blobs.Specialized: содержит классы, которые можно использовать для выполнения операций, относящихся к типу большого двоичного объекта, таких как блочные BLOB-объекты.
- Azure.Storage.Blobs.Models: все остальные вспомогательные классы, структуры и типы перечислений.
Дальнейшие действия
Работа с ресурсами Azure с помощью пакета SDK начинается с создания экземпляра клиента. Дополнительные сведения о создании клиентских объектов и управлении ими см. в статье Создание клиентских объектов, взаимодействующих с ресурсами данных, и управление ими.