Início Rápido: Carregar, baixar e listar blobs com o PowerShell

Use o módulo do Azure PowerShell para criar e gerenciar recursos do Azure. Você pode criar ou gerenciar recursos do Azure usando a linha de comando do PowerShell ou scripts. Este guia descreve o uso do PowerShell para transferir arquivos entre o disco local e o Armazenamento de Blobs do Azure.

Pré-requisitos

Para acessar o Armazenamento do Azure, você precisará de uma assinatura do Azure. Se você ainda não tiver uma assinatura, crie uma conta gratuita antes de começar.

Você também precisará da função de Colaborador de Dados do Blob de Armazenamento para ler, gravar e excluir contêineres e blobs de Armazenamento do Azure.

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Este início rápido exige o módulo Az do Azure PowerShell versão 0.7 ou posterior. Execute Get-InstalledModule -Name Az -AllVersions | select Name,Version para encontrar a versão. Se você precisar instalá-lo ou atualizá-lo, confira Instalar o módulo do Azure PowerShell.

Entrar no Azure

Entre na sua assinatura do Azure com o comando Connect-AzAccount e siga as instruções na tela.

Connect-AzAccount

Se você não sabe qual localização deseja usar, você pode listar as localizações disponíveis. Exiba a lista de locais usando o seguinte exemplo de código e encontrar aquele que você deseja usar. Esse exemplo usa eastus. Armazene o local em uma variável e use a variável para que você possa alterá-la em um único local.

Get-AzLocation | Select-Object -Property Location
$Location = 'eastus'

Criar um grupo de recursos

Crie um grupo de recursos do Azure com New-AzResourceGroup. Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.

$ResourceGroup = 'MyResourceGroup'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

Criar uma conta de armazenamento

Crie uma conta de armazenamento para uso geral padrão com replicação LRS usando New-AzStorageAccount. A seguir, obtenha o contexto da conta de armazenamento que define a conta de armazenamento que você deseja usar. Ao agir em uma conta de armazenamento, você pode referenciar o contexto em vez de passar repetidamente as credenciais. Use o exemplo a seguir para criar uma conta de armazenamento chamada mystorageaccount com armazenamento com redundância local (LRS) e criptografia de blob (habilitada por padrão).

$StorageHT = @{
  ResourceGroupName = $ResourceGroup
  Name              = 'mystorageaccount'
  SkuName           = 'Standard_LRS'
  Location          =  $Location
}
$StorageAccount = New-AzStorageAccount @StorageHT
$Context = $StorageAccount.Context

Criar um contêiner

Os blobs são sempre carregados em um contêiner. É possível organizar grupos de blobs de forma similar àquela em que você organiza os arquivos em pastas no seu computador.

Defina o nome do contêiner e, em seguida, crie o contêiner usando New-AzStorageContainer. O nome do contêiner neste exemplo é quickstartblobs.

$ContainerName = 'quickstartblobs'
New-AzStorageContainer -Name $ContainerName -Context $Context

Carregar blobs para o contêiner

O Armazenamento de Blobs dá suporte a blobs de blocos, blobs de acréscimo e blobs de páginas. Arquivos VHD que auxiliam VMs IaaS são blobs de páginas. Use os blobs de acréscimo para registro em log, como quando você quer gravar em um arquivo e depois adicionar mais informações. A maioria dos arquivos armazenados no Armazenamento de Blobs são blobs de blocos.

Para carregar um arquivo em um blob de blocos, obtenha uma referência de contêiner e uma referência para o blob de blocos nesse contêiner. Depois de obter a referência de blob, carregue dados nele usando Set-AzStorageBlobContent. Essa operação cria o blob, se ele não existir, ou o substitui, se ele já existir.

Os exemplos a seguir carregam Image001.jpg e Image002.png da pasta D:\Images no disco local para o contêiner que você criou.

# 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


Carregue quantos arquivos desejar antes de continuar.

Listar os blobs em um contêiner

Obtenha uma lista de blobs no contêiner usando Get-AzStorageBlob. Este exemplo mostra apenas os nomes dos blobs carregados.

Get-AzStorageBlob -Container $ContainerName -Context $Context |
  Select-Object -Property Name

Baixar blobs

Baixe os blobs em seu disco local. Para cada blob que deseja baixar, defina o nome e chame Get-AzStorageBlobContent para baixar o blob.

Este exemplo baixa os blobs para D:\Images\Downloads no disco local.

# 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

Transferência de dados com AzCopy

O utilitário de linha de comando AzCopy oferece transferência de dados de alto desempenho e programável para o Armazenamento do Azure. Use o AzCopy para transferir dados bidirecionalmente no Armazenamento de Blobs e nos Arquivos do Azure. Para obter mais informações sobre o AzCopy v10, a última versão do AzCopy, confira Introdução ao AzCopy. Para saber mais sobre como usar o AzCopy v10 com o Armazenamento de Blobs, confira Transferir dados com o AzCopy e o Armazenamento de Blobs.

O exemplo a seguir usa o AzCopy para carregar um arquivo local em um blob. Lembre-se de substituir os valores de exemplo pelos próprios valores:

azcopy login
azcopy copy 'D:\Images\Image001.jpg' "https://$StorageAccountName.blob.core.windows.net/$ContainerName/NewGaphic.jpg"

Limpar os recursos

Remova todos os ativos que você criou. A maneira mais fácil de remover os ativos é excluir o grupo de recursos. Remover o grupo de recursos também exclui todos os recursos contidos no grupo. No exemplo a seguir, remover o grupo de recursos remove a conta de armazenamento e o próprio grupo de recursos.

Remove-AzResourceGroup -Name $ResourceGroup 

Próximas etapas

Neste guia de início rápido, você transferiu arquivos entre um sistema de arquivos local e o Armazenamento de Blobs do Azure. Para saber mais sobre como trabalhar com o Armazenamento de Blob usando o PowerShell, selecione uma opção abaixo.

Referência de cmdlets de Armazenamento do Microsoft Azure PowerShell

Gerenciador do Armazenamento do Microsoft Azure