Partilhar via


Guia de início rápido: carregar, baixar e listar blobs com o PowerShell

Utilizar o módulo do Azure PowerShell para criar e gerir recursos do Azure. Você pode criar ou gerenciar recursos do Azure a partir da linha de comando do PowerShell ou em scripts. Este guia descreve como utilizar o PowerShell para transferir ficheiros 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 ainda não tiver uma subscrição, crie uma conta gratuita antes de começar.

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

Nota

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

Este início rápido requer o módulo Az do Azure PowerShell versão 0.7 ou posterior. Executar Get-InstalledModule -Name Az -AllVersions | select Name,Version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure PowerShell module(Instalar o módulo do Azure PowerShell).

Iniciar sessão no Azure

Inicie sessão na sua subscrição do Azure com o comando Connect-AzAccount e siga as instruções no ecrã.

Connect-AzAccount

Se não souber qual a localização que quer utilizar, pode listar as localizações disponíveis. Apresente a lista de localizações com o seguinte exemplo de código e encontre o que pretende utilizar. Este exemplo utiliza eastus. Armazene a localização numa variável e utilize-a de forma a poder alterá-la num ú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 contentor lógico no qual os recursos do Azure são implementados e geridos.

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

Criar uma conta de armazenamento

Crie uma conta de armazenamento padrão de uso geral com replicação LRS usando New-AzStorageAccount. Em seguida, obtenha o contexto da conta de armazenamento que define a conta de armazenamento que pretende utilizar. Ao realizar ações em contas de armazenamento, referencia o contexto em vez de transmitir repetidamente as credenciais. Utilize o exemplo a seguir para criar uma conta de armazenamento denominada mystorageaccount com armazenamento localmente redundante (LRS) e encriptação de blobs (ativada por predefinição).

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

Criar um contentor

Os Blobs são sempre carregados para um contentor. Pode organizar grupos de blobs, tal como organiza os ficheiros em pastas no seu computador.

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

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

Carregar blobs para o contentor

O armazenamento de blobs suporta blobs de blocos, blobs de acréscimo e blobs de páginas. Os ficheiros VHD que suportam as VMs IaaS são blobs de páginas. Utilize blobs de acréscimo para registo, como quando quer escrever num ficheiro e continue a adicionar mais informações. A maioria dos ficheiros guardados no armazenamento de Blobs são blobs de blocos.

Para carregar um ficheiro para um blob de blocos, obtenha uma referência de contentor e uma referência de blob de blocos nesse contentor. Depois de ter a referência de blob, você pode carregar dados para ela usando Set-AzStorageBlobContent. Esta operação cria o blob, caso este não exista, ou substitui-o se 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 os ficheiros que quiser antes de continuar.

Listar os blobs num contentor

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

Transferir blobs

Transfira os blobs para o disco local. Para cada blob que você 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 o AzCopy

O utilitário de linha de comando AzCopy oferece transferência de dados programáveis de alto desempenho para o Armazenamento do Azure. Você pode usar o AzCopy para transferir dados de e para o armazenamento de Blob e os Arquivos do Azure. Para obter mais informações sobre o AzCopy v10, a versão mais recente do AzCopy, consulte Introdução ao AzCopy. Para saber mais sobre como usar o AzCopy v10 com armazenamento de Blob, consulte Transferir dados com o AzCopy e o armazenamento de Blob.

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

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

Clean up resources (Limpar recursos)

Remova todos os recursos que criou. A forma mais fácil de remover os recursos é eliminar o grupo de recursos. Remover o grupo de recursos também elimina todos os recursos incluídos no grupo. No exemplo seguinte, remover o grupo de recursos remove a conta de armazenamento e o próprio grupo de recursos.

Remove-AzResourceGroup -Name $ResourceGroup 

Próximos passos

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

Referência de cmdlets do Armazenamento do Microsoft Azure PowerShell

Explorador de Armazenamento do Microsoft Azure