Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Используйте модуль Azure PowerShell для создания ресурсов Azure и управления ими. Вы можете создавать ресурсы Azure или управлять ими из командной строки PowerShell или в сценариях. В этом руководстве описывается использование PowerShell для передачи файлов между локальным диском и хранилищем BLOB-объектов Azure.
Prerequisites
Для доступа к службе хранилища Azure требуется подписка Azure. Если у вас еще нет подписки, создайте бесплатную учетную запись перед началом работы.
Вам также потребуется роль «Сотрудник данных BLOB-объектов» для чтения, записи и удаления контейнеров и BLOB-объектов в Azure.
Note
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать, ознакомьтесь с разделом Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.
Для этого краткого руководства требуется модуль Azure PowerShell Az версии 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) и шифрованием BLOB-объектов (включено по умолчанию).
$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-объекты и страничные BLOB-объекты. VHD-файлы, которые поддерживают виртуальные машины IaaS, являются страничными 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-объектов в контейнере
Получите список объектов BLOB в контейнере, используя Get-AzStorageBlob. В этом примере перечислены имена отправленных BLOB-объектов.
Get-AzStorageBlob -Container $ContainerName -Context $Context |
Select-Object -Property Name
Скачивание больших двоичных объектов
Скачайте блоб-объекты на локальный диск. Для каждого blob, который вы хотите скачать, задайте его имя и вызовите Get-AzStorageBlobContent для скачивания.
В этом примере объекты blob загружаются в 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, последней версии AzCopy, см. в статье "Начало работы с AzCopy". Сведения об использовании AzCopy версии 10 с хранилищем BLOB-объектов см. в статье "Передача данных с помощью 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, выберите следующий вариант.
Справочник командлетов Microsoft Azure PowerShell для хранилища данных
Microsoft Azure Storage Explorer
- Microsoft Azure Storage Explorer — это бесплатное автономное приложение от Майкрософт, которое позволяет визуально работать с данными службы хранилища Azure в Windows, macOS и Linux.