Краткое руководство. Создание, скачивание и составление списка больших двоичных объектов с помощью Azure CLI

Azure CLI — это интерфейс командной строки Azure для управления ресурсами Azure. Вы можете использовать его в браузере с Azure Cloud Shell. Его также можно установить в macOS, Linux или Windows и запускать из командной строки. В этом кратком руководстве содержатся сведения об использовании Azure CLI для отправки и скачивания данных в хранилище BLOB-объектов Azure и обратно.

Необходимые компоненты

Для доступа к службе хранилища Azure требуется подписка Azure. Если у вас еще нет подписки, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Доступ к хранилищу Azure осуществляется с помощью учетной записи хранения. Для работы с этим руководством создайте учетную запись хранения с помощью портала Azure, Azure PowerShell или Azure CLI. Инструкции по созданию учетной записи хранения см. в статье Создайте учетную запись хранения.

Подготовка среды к работе с Azure CLI

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Для работы с этой статьей требуется Azure CLI версии 2.0.46 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Авторизация доступа к хранилищу BLOB-объектов

Вы можете авторизовать доступ к хранилищу BLOB-объектов из Azure CLI с помощью учетных данных Microsoft Entra или с помощью ключа доступа к учетной записи хранения. Рекомендуется использовать учетные данные Microsoft Entra. В этой статье показано, как авторизовать операции хранения BLOB-объектов с помощью идентификатора Microsoft Entra.

Команды Azure CLI для операций с данными в хранилище BLOB-объектов поддерживают параметр --auth-mode, что позволяет указать, как авторизовать определенную операцию. --auth-mode Задайте параметр для login авторизации с помощью учетных данных Microsoft Entra. Дополнительные сведения см. в статье Авторизация доступа к данным BLOB-объектов или очередей с помощью Azure CLI.

Только операции с данными хранилища BLOB-объектов поддерживают параметр --auth-mode. Операции управления, такие как создание группы ресурсов или учетной записи хранения, автоматически используют учетные данные Microsoft Entra для авторизации.

Для начала войдите в учетную запись Azure с помощью команды az login.

az login

Создание или изменение группы ресурсов

Создайте группу ресурсов Azure с помощью команды az group create. Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими.

Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az group create \
    --name <resource-group> \
    --location <location>

Создание учетной записи хранилища

Создайте учетную запись хранения общего назначения с помощью команды az storage account create. Эта учетная запись хранения может использоваться для всех четырех служб: больших двоичных объектов, файлов, таблиц и очередей.

Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az storage account create \
    --name <storage-account> \
    --resource-group <resource-group> \
    --location <location> \
    --sku Standard_ZRS \
    --encryption-services blob

Создание контейнера

Большие двоичные объекты всегда отправляются в контейнер. Вы можете упорядочивать группы больших двоичных объектов в контейнеры аналогично организации файлов в папках на компьютере. Создайте контейнер для хранения больших двоичных объектов с помощью команды az storage container create.

В следующем примере используется учетная запись Microsoft Entra для авторизации операции для создания контейнера. Прежде чем создавать контейнер, назначьте себе роль Участник данных в хранилище BLOB-объектов. Даже если вы являетесь владельцем учетной записи, вам потребуются явные разрешения для выполнения операций с данными в учетной записи хранения. Дополнительные сведения о назначении ролей Azure см. в разделе Назначение роли Azure для доступа к данным BLOB-объектов.

Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az ad signed-in-user show --query id -o tsv | az role assignment create \
    --role "Storage Blob Data Contributor" \
    --assignee @- \
    --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>"

az storage container create \
    --account-name <storage-account> \
    --name <container> \
    --auth-mode login

Важно!

Назначение ролей Azure может занимать несколько минут.

Вы также можете использовать ключ учетной записи хранения, чтобы авторизовать операцию создания контейнера. Дополнительные сведения об авторизации операций с данными с помощью Azure CLI см. в статье Авторизация доступа к данным большого двоичного объекта или очереди с помощью Azure CLI.

Отправка BLOB-объекта

Хранилище BLOB-объектов поддерживает блочные, добавочные и страничные BLOB-объекты. В примерах в этом кратком руководстве показано, как работать с блочными BLOB-объектами.

Сначала создайте файл для передачи в блочный BLOB-объект. Если вы используете Azure Cloud Shell, создайте этот файл с помощью следующей команды.

vi helloworld

Когда файл откроется, щелкните Вставить. Введите Hello world, а затем нажмите клавишу ESC. Затем введите :x и нажмите клавишу ВВОД.

В этом примере большой двоичный объект отправляется в контейнер, созданный на последнем шаге, с помощью команды az storage blob upload. Нет необходимости указывать путь к файлу, так как файл создан в корневом каталоге. Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az storage blob upload \
    --account-name <storage-account> \
    --container-name <container> \
    --name myFile.txt \
    --file myFile.txt \
    --auth-mode login

С помощью этой операции создается большой двоичный объект, если он не был создан ранее, или же, если он имеется, происходит его замещение. Прежде чем продолжить, отправьте нужное количество файлов.

При отправке большого двоичного объекта с помощью Azure CLI он выдает соответствующие вызовы REST API через протоколы http и https.

Чтобы одновременно отправить несколько файлов, используйте команду az storage blob upload-batch.

Перечисление BLOB-объектов в контейнере

Выведите список больших двоичных объектов в контейнере, выполнив команду az storage blob list. Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az storage blob list \
    --account-name <storage-account> \
    --container-name <container> \
    --output table \
    --auth-mode login

Скачивание большого двоичного объекта

Выполните команду az storage blob download, чтобы скачать отправленный ранее большой двоичный объект. Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az storage blob download \
    --account-name <storage-account> \
    --container-name <container> \
    --name myFile.txt \
    --file <~/destination/path/for/file> \
    --auth-mode login

Передача данных с помощью AzCopy

Служебная программа командной строки AzCopy обеспечивает высокопроизводительную передачу данных с поддержкой сценариев для службы хранилища Azure. AzCopy можно использовать для передачи данных из хранилища BLOB-объектов, Файлов Azure и обратно. Дополнительные сведения об AzCopy версии 10, которая является последней, см. в статье Get started with AzCopy (Начало работы с AzCopy). Дополнительные сведения об использовании AzCopy версии 10 с хранилищем BLOB-объектов см. в статье Transfer data with AzCopy and Blob storage (Передача данных с помощью AzCopy и хранилища BLOB-объектов).

В следующем примере AzCopy используется для передачи локального файла в большой двоичный объект. Не забудьте заменить примеры значений собственными значениями:

azcopy login
azcopy copy 'C:\myDirectory\myFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myFile.txt'

Очистка ресурсов

Если вы решили удалить ресурсы, созданные для этого краткого руководства, вместе с группой ресурсов, выполните для этого команду az group delete. Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.

az group delete \
    --name <resource-group> \
    --no-wait

Следующие шаги

В этом кратком руководстве вы узнали, как передавать файлы между локальной файловой системой и контейнером в хранилище BLOB-объектов Azure. Для получения дополнительных сведений о работе с хранилищем BLOB-объектов с помощью Azure CLI выберите один из разделов ниже.