Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Используйте модуль 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.