Краткое руководство. Отправка, скачивание и составление списка больших двоичных объектов с помощью PowerShell
С помощью модуля Azure PowerShell создайте ресурсы Azure и управляйте ими. Вы можете создавать ресурсы Azure и управлять ими с помощью командной строки или скриптов PowerShell. В этом руководстве рассматривается использование PowerShell для передачи файлов между локальным диском и хранилищем BLOB-объектов Azure.
Необходимые компоненты
Для доступа к службе хранилища Azure требуется подписка Azure. Если у вас еще нет подписки, вы можете создать бесплатную учетную запись Azure, прежде чем начинать работу.
Кроме того, вам потребуется роль участника данных Storage Blob для чтения, записи и удаления больших двоичных объектов и контейнеров службы хранилища Azure.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Для работы с этим кратким руководством требуется модуль Azure PowerShell 0.7 или более поздней версии. Чтобы узнать версию, выполните команду Get-InstalledModule -Name Az -AllVersions | select Name,Version
. Если вам необходимо выполнить установку или обновление, см. статью об установке модуля Azure PowerShell.
Вход в Azure
Войдите в подписку Azure с помощью команды Connect-AzAccount
и следуйте инструкциям на экране.
Connect-AzAccount
Если вы не знаете, какое расположение нужно использовать, можно получить список доступных расположений. Получите список расположений, используя приведенный ниже пример кода, и найдите нужное расположение. В этом примере используется eastus. Сохраните расположение в переменной и используйте ее. Так вы сможете изменить расположение в одном месте.
Get-AzLocation | Select-Object -Property Location
$Location = 'eastus'
Создание или изменение группы ресурсов
Создайте группу ресурсов Azure с помощью командлета New-AzResourceGroup. Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими.
$ResourceGroup = 'MyResourceGroup'
New-AzResourceGroup -Name $ResourceGroup -Location $Location
Создание учетной записи хранилища
Создайте стандартную учетную запись хранения общего назначения с репликацией LRS с помощью командлета New-AzStorageAccount. Затем получите контекст учетной записи хранения, определяющий необходимую учетную запись хранения. Действуя в учетной записи хранения, ссылайтесь на контекст, вместо того чтобы многократно передавать учетные данные. Используйте следующий пример, чтобы создать учетную запись хранения mystorageaccount с включенными по умолчанию локально избыточным хранилищем (LRS) и шифрованием больших двоичных объектов.
$StorageHT = @{
ResourceGroupName = $ResourceGroup
Name = 'mystorageaccount'
SkuName = 'Standard_LRS'
Location = $Location
}
$StorageAccount = New-AzStorageAccount @StorageHT
$Context = $StorageAccount.Context
Создание контейнера
Большие двоичные объекты всегда отправляются в контейнер. Вы можете упорядочивать группы больших двоичных объектов аналогично организации файлов в папках на компьютере.
Задайте имя контейнера, а затем создайте контейнер с помощью командлета New-AzStorageContainer. В этом примере контейнеру присвоено имя quickstartblobs.
$ContainerName = 'quickstartblobs'
New-AzStorageContainer -Name $ContainerName -Context $Context
Отправка BLOB-объектов в контейнер
Хранилище BLOB-объектов поддерживает блочные, добавочные и страничные BLOB-объекты. VHD-файлы, поддерживаемые для резервных виртуальных машин IaaS, являются страничными BLOB-объектами. Используйте добавочные большие двоичные объекты для ведения журнала, например, если требуется выполнять запись в файл и добавлять дополнительные сведения. Большинство файлов, находящихся в хранилище BLOB-объектов, представляют собой блочные BLOB-объекты.
Для передачи файла в блочный BLOB-объект получите ссылку на контейнер, а затем получите ссылку на блочный BLOB-объект в этом контейнере. При наличии ссылки на большой двоичный объект вы можете отправлять в него данные с помощью командлета Set-AzStorageBlobContent. Эта операция создает большой двоичный объект, если он еще не существует, или заменяет имеющийся.
В следующих примерах показана отправка файлов Image001.jpg и Image002.png из папки D:\Images на локальном диске в созданный контейнер.
# upload a file to the default account (inferred) access tier
$Blob1HT = @{
File = 'D:\Images\Image001.jpg'
Container = $ContainerName
Blob = "Image001.jpg"
Context = $Context
StandardBlobTier = 'Hot'
}
Set-AzStorageBlobContent @Blob1HT
# upload another file to the Cool access tier
$Blob2HT = @{
File = 'D:\Images\Image002.jpg'
Container = $ContainerName
Blob = 'Image002.png'
Context = $Context
StandardBlobTier = 'Cool'
}
Set-AzStorageBlobContent @Blob2HT
# upload a file to a folder to the Archive access tier
$Blob3HT = @{
File = 'D:\Images\FolderName\Image003.jpg'
Container = $ContainerName
Blob = 'FolderName/Image003.jpg'
Context = $Context
StandardBlobTier = 'Archive'
}
Set-AzStorageBlobContent @Blob3HT
Прежде чем продолжить, отправьте нужное количество файлов.
Перечисление BLOB-объектов в контейнере
Получите список больших двоичных объектов в контейнере с помощью командлета Get-AzStorageBlob. В этом примере перечислены имена отправленных BLOB-объектов.
Get-AzStorageBlob -Container $ContainerName -Context $Context |
Select-Object -Property Name
скачивание больших двоичных объектов;
Скачайте большие двоичные объекты на локальный диск. Для каждого скачиваемого большого двоичного объекта задайте имя и вызовите командлет Get-AzStorageBlobContent.
В этом примере показано скачивание больших двоичных объектов на локальный диск D:\Images\Downloads.
# Download first blob
$DLBlob1HT = @{
Blob = 'Image001.jpg'
Container = $ContainerName
Destination = 'D:\Images\Downloads\'
Context = $Context
}
Get-AzStorageBlobContent @DLBlob1HT
# Download another blob
$DLBlob2HT = @{
Blob = 'Image002.png'
Container = $ContainerName
Destination = 'D:\Images\Downloads\'
Context = $Context
}
Get-AzStorageBlobContent @DLBlob2HT
Передача данных с помощью 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 'D:\Images\Image001.jpg' "https://$StorageAccountName.blob.core.windows.net/$ContainerName/NewGaphic.jpg"
Очистка ресурсов
Удалите все созданные ресурсы. Самым простым способом удалить ресурсы является удаление группы ресурсов. Удаление группы ресурсов также приведет к удалению всех ресурсов, которые она содержит. В следующем примере при удалении группы ресурсов удаляется учетная запись хранения и сама группа ресурсов.
Remove-AzResourceGroup -Name $ResourceGroup
Следующие шаги
При работе с этим кратким руководством вы передали файлы между локальной файловой системой и хранилищем BLOB-объектов Azure. Для получения дополнительных сведений о работе с хранилищем BLOB-объектов с помощью PowerShell выберите один из разделов ниже.
Справочник по командлетам PowerShell для службы хранилища Microsoft Azure
Обозреватель службы хранилища Microsoft Azure
- Обозреватель хранилищ Microsoft Azure — это бесплатное автономное приложение от корпорации Майкрософт, позволяющее визуализировать данные из службы хранилища Azure на платформе Windows, macOS и Linux.