Начало работы с Хранилище BLOB-объектов Azure и Go
В этой статье показано, как подключиться к Хранилище BLOB-объектов Azure с помощью клиентского модуля Хранилище BLOB-объектов Azure для Go. После подключения код может работать в контейнерах, BLOB-объектах, функциях службы хранилища BLOB-объектов.
Пакет исходного кода библиотеки исходного кода | библиотеки | API (pkg.go.dev)
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Учетная запись хранения Azure — создайте такую учетную запись.
- Go 1.18+
Настройка проекта
В этом разделе описывается подготовка проекта для работы с клиентским модулем Хранилище BLOB-объектов Azure для Go.
В GOPATH установите модуль azblob с помощью следующей команды:
go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
Чтобы выполнить проверку подлинности с помощью идентификатора Microsoft Entra (рекомендуется), установите azidentity
модуль с помощью следующей команды:
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Затем откройте файл кода и добавьте необходимые пути импорта. В этом примере мы добавим следующий код в файл GO :
import (
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
Сведения о клиентском модуле BLOB-объектов:
- azblob: содержит методы, которые можно использовать для работы со службой, контейнерами и большими двоичными объектами.
Авторизация доступа и подключения к хранилищу BLOB-объектов
Чтобы подключить приложение к хранилищу BLOB-объектов, создайте клиентский объект с помощью azblob. NewClient. Этот объект является отправной точкой для взаимодействия с ресурсами данных на уровне учетной записи хранения. Его можно использовать для работы с учетной записью хранения и ее контейнерами.
Дополнительные сведения о создании и управлении клиентскими объектами, включая рекомендации, см. в статье "Создание клиентских объектов и управление ими", взаимодействующих с ресурсами данных.
Вы можете авторизовать клиентский объект с помощью маркера авторизации Microsoft Entra (рекомендуется), ключа доступа к учетной записи или подписанного URL-адреса (SAS).
Чтобы авторизовать идентификатор Microsoft Entra, необходимо использовать субъект безопасности. В следующих статьях приведены рекомендации по различным сценариям проверки подлинности:
- Проверка подлинности в средах разработки
- Проверка подлинности в размещенных в Azure приложениях
- Проверка подлинности с помощью субъекта-службы
Авторизация доступа с помощью DefaultAzureCredential
Простой и безопасный способ авторизации доступа и подключения к хранилищу BLOB-объектов — получить маркер OAuth, создав экземпляр DefaultAzureCredential . Затем можно использовать эти учетные данные для создания клиентского объекта с помощью azblob. NewClient.
func getServiceClientTokenCredential(accountURL string) *azblob.Client {
// Create a new service client with token credential
credential, err := azidentity.NewDefaultAzureCredential(nil)
handleError(err)
client, err := azblob.NewClient(accountURL, credential, nil)
handleError(err)
return client
}
Сборка приложения
При создании приложений для работы с ресурсами данных в Хранилище BLOB-объектов Azure код в основном взаимодействует с тремя типами ресурсов: учетными записями хранения, контейнерами и большими двоичными объектами. Дополнительные сведения об этих типах ресурсов, о том, как они связаны друг с другом и как приложения взаимодействуют с ресурсами, см. в статье "Общие сведения о взаимодействии приложений с ресурсами хранилища BLOB-объектов".
В следующих руководствах показано, как получить доступ к данным и выполнить определенные действия с помощью клиентского модуля Хранилище BLOB-объектов Azure для Go:
Руководство | Description |
---|---|
Настройка политики повторных попыток | Реализуйте политики повторных попыток для клиентских операций. |
Копирование больших двоичных объектов | Скопируйте большой двоичный объект из одного расположения в другое. |
Создание контейнера | Создание контейнеров. |
Удаление и восстановление больших двоичных объектов | Удаление BLOB-объектов. Если включено обратимое удаление, восстановление удаленных BLOB-объектов. |
Удаление и восстановление контейнеров | Удаление контейнеров. Если включено обратимое удаление включено, восстановление удаленных контейнеров. |
скачивание больших двоичных объектов; | Скачивание BLOB-объектов с помощью строк, потоков и путей к файлам. |
Поиск BLOB-объектов с помощью тегов | Задайте и извлеките теги и используйте теги для поиска больших двоичных объектов. |
Перечисление больших двоичных объектов | Перечисление BLOB-объектов различными способами. |
Перечисление контейнеров | Перечисление контейнеров в учетной записи и различные параметры, доступные для настройки списка. |
Управление свойствами и метаданными (BLOB-объектами) | Управление свойствами и метаданными контейнера. |
Управление свойствами и метаданными (контейнерами) | Управление свойствами и метаданными контейнера. |
отправка больших двоичных объектов; | Отправка BLOB-объектов с помощью строк, потоков, путей к файлам и других методов. |
Примечание.
Примеры кода в этом руководстве предназначены для начала работы с Хранилище BLOB-объектов Azure и Go. Необходимо изменить обработку ошибок и Context
значения в соответствии с потребностями приложения.