AzCopy é um utilitário de linha de comando que pode ser usado para transferir dados para dentro ou para fora da conta de armazenamento (blobs ou arquivos). Isso pode ser usado em sistemas Windows, Linux ou macOS. O mesmo utilitário também pode ser usado para migrar dados de uma conta de armazenamento para outra.
Também podemos usar o AzCopy para mover dados entre contas de armazenamento.
Criar Storage Account
Um storage account do Azure contém todos os seus objetos de dados do Armazenamento do Azure: blobs, files, queues, tables e disks. A conta de armazenamento fornece um namespace exclusivo para seus dados de armazenamento do Azure que pode ser acessado de qualquer lugar do mundo por HTTP ou HTTPS. Os dados em sua conta de armazenamento do Azure são duráveis e altamente disponíveis, seguros e extremamente escalonáveis.
01 – Execute o script abaixo para criar o storage account do tipo StorageV2 com replicação Locally-redudant storage (LRS).
# Criar o Resource Group
$resourceGroup = “RG-AZCopy”
$location = “westus”
New-AzResourceGroup -Name $resourceGroup -Location $location
# Criar Storage Account
New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name stoazcopy `
-Location $location `
-SkuName Standard_LRS `
-Kind StorageV2
Como podemos observar na imagem abaixo o storage account foi criado com sucesso.
02 – O próximo passo é criar um File Share no storage account.
$stoazcopy = Get-AzStorageAccount -ResourceGroupName RG-AZCopy -Name stoazcopy
New-AzStorageShare -Context $stoazcopy.Context -Name fileazcopy
03 – Criar um container no storage account.
$stoazcopy = Get-AzStorageAccount -ResourceGroupName RG-AZCopy -Name stoazcopy
New-AzStorageContainer -Context $stoazcopy.Context -Name contazcopy
Criar o segundo Storage account
04 – Execute o script abaixo para criar o storage account do tipo StorageV2 com replicação Locally-redudant storage (LRS).
# Variaveis
$resourceGroup = “RG-AZCopy”
$location = “westus”
# Criar Storage Account
New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name stoazcopy2 `
-Location $location `
-SkuName Standard_LRS `
-Kind StorageV2
Como podemos observar na imagem abaixo o storage account foi criado com sucesso.
05 – O próximo passo é criar um File Share no storage account.
$stoazcopy = Get-AzStorageAccount -ResourceGroupName RG-AZCopy -Name stoazcopy2
New-AzStorageShare -Context $stoazcopy.Context -Name fileazcopy2
06 – Criar um container no storage account.
$stoazcopy = Get-AzStorageAccount -ResourceGroupName RG-AZCopy -Name stoazcopy2
New-AzStorageContainer -Context $stoazcopy.Context -Name contazcopy2
Criar shared access signature (SAS) token para o Storage Account
O token SAS permite fornecer acesso temporário a contêineres e blobs em uma conta de armazenamento.
Vamos criar o token SAS para esta nova conta de armazenamento. Uma vez feito isso, podemos usá-lo para acessar a conta de armazenamento usando o AzCopy.
SAS stoazcopy
07 – No portal do Azure pesquise por storage accounts e selecione o storage account stoazcopy.
08 – Em Security + networking clique em Shared access signature.
09 – Na tela Shared access signature em Allowed services deixe apenas Blob e File, em Allowed resource type marque Service, Container e Object, em Allowed permissions deixe a configuração padrão selecionada, em Start and expiry date/time ajuste a data de expiração do token SAS, vamos criar um token de 7 dias, quando todas as configurações forem realizadas clique em Generate SAS and connection string.
10 – Como podemos observar o SAS token e Connection string foram criados.
11 – Copie o SAS Token.
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D
SAS stoazcopy2
12 – No portal do Azure pesquise por storage accounts e selecione o storage account stoazcopy2.
13 – Em Security + networking clique em Shared access signature.
14 – Na tela Shared access signature em Allowed services deixe apenas Blob e File, em Allowed rsource type marque Service, Container e Object, em Allowed permissions deixe a configuração padrão selecionada, em Start and expiry date/time ajuste a data de expiração do token SAS, vamos criar um token de 7 dias, quando todas as configurações forem realizadas clique em Generate SAS and connection string.
15 – Como podemos observar o SAS token e Connection string foram criados.
16 – Copie o SAS Token.
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D
Instale o utilitário AzCopy
17 – Podemos baixar o AzCopy no link abaixo, selecione a versão do seu sistema operacional.
https://docs.microsoft.com/pt-br/azure/storage/common/storage-use-azcopy-v10
18 – Após efetuar o download do arquivo, clique com o botão direito no arquivo e selecione Extract All.
19 – Para a opção Select a Destination and Extract Files deixa a configuração padrão e clique em Extract.
20 – Abra a pasta onde o azcopy foi extraído e copie o caminho da pasta.
21 – Clique em Start e digite cmd, em Comand Prompt clique com o botão direito do mouse e selecione Run as administrator.
22 – No Command Prompt digite o comando cd e o caminho da pasta onde o azcopy foi extraído.
Mover dados entre storage account (File Share)
23 – Temos alguns arquivos no no File Share do storage account stoazcopy vamos mover todos esses arquivos para o storage account stoazcopy2.
24 – Selecione o storage acccount stoazcopy em Settings clique em Endpoints, em Endpoints podemos ver o nome File service e Blob service.
25 – Selecione o storage acccount stoazcopy2 em Settings clique em Endpoints, em Endpoints podemos ver o nome File service e Blob service.
26 – Copiar arquivos entre File Share.
Vamos copiar o arquivo teste.doc que esta no File Share fileazcopy no storage account stoazcopy para o File Share fileazcopy2 no storage account stoazcopy2.
No prompt de comando, navegue até a pasta onde o azcopy foi extraido C:\Users\adm.jadson\Downloads\azcopy_windows_amd64_10.13.0
Execute o comando abaixo para mover o arquivo do File Share fileazcopy no storage account stoazcopy para o File Share fileazcopy2 no storage account stoazcopy2.
azcopy copy “https://stoazcopy.file.core.windows.net/fileazcopy/teste.doc?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D” “https://stoazcopy2.file.core.windows.net/fileazcopy2?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D”
Acima, o arquivo de origem é https://stoazcopy.file.core.windows.net/fileazcopy/teste.doc
E será copiado para https://stoazcopy2.file.core.windows.net/fileazcopy2
Aqui, destaquei o token SAS de origem.
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D
E abaixo eu destaquei o token SAS de destino.
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D
27 – Podemos verificar o arquivo que foi copiado no portal do Azure, pesquise por storage accounts selecione o storage account stoazcopy2 em File Shares selecione fileazcopy2 e como podemos observar o arquivo teste.doc foi copiado.
28 – Também podemos usar o mesmo método para copiar todo o file share para outro file share.
azcopy copy “https://stoazcopy.file.core.windows.net/fileazcopy?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D” “https://stoazcopy2.file.core.windows.net/fileazcopy2?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D” –preserve-smb-permissions=true –preserve-smb-info=true –recursive
Acima, estou copiando o conteudo do file share azcopy.
https://stoazcopy.file.core.windows.net/fileazcopy
para https://stoazcopy2.file.core.windows.net/fileazcopy2
29 – Como podemos observar os arquivos do file share fileazcopy no storage account stoazcopy foram copiados para o file share fileazcopy no storage account stoazcopy2
Mover dados entre storage account (Container)
30 – Temos alguns arquivos no container do storage account stoazcopy, vamos mover todos esses arquivos para container do storage account stoazcopy2.
31 – Copiar arquivos entre Containers.
Vamos copiar o arquivo teste.doc que esta no container contazcopy no storage account stoazcopy para o container contazcopy2 no storage account stoazcopy2.
No prompt de comando, navegue até a pasta onde o azcopy foi extraido C:\Users\adm.jadson\Downloads\azcopy_windows_amd64_10.13.0
Execute o comando abaixo para mover o arquivo do container contazcopy no storage account stoazcopy para o container contazcopy2 no storage account stoazcopy2.
azcopy copy “https://stoazcopy.blob.core.windows.net/contazcopy/teste.doc?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D” “https://stoazcopy2.blob.core.windows.net/contazcopy2?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D”
Acima, o arquivo de origem é https://stoazcopy.blob.core.windows.net/contazcopy/teste.doc
E será copiado para https://stoazcopy2.blob.core.windows.net/contazcopy2
Aqui, destaquei o token SAS de origem
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D
E abaixo eu destaquei o token SAS de destino
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D
32 – Podemos verificar o arquivo que foi copiado no portal do Azure, pesquise por storage accounts selecione o storage account stoazcopy2 em container selecione contazcopy2 e como podemos obervar o arquivo teste.doc foi copiado.
33 – Também podemos usar o mesmo método para copiar todo o container para outro container.
azcopy copy “https://stoazcopy.blob.core.windows.net/contazcopy?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-12-31T08:25:23Z&st=2021-12-17T00:25:23Z&spr=https&sig=l3DWLGc3F5bnwL74RiR6pY%2BmtWaA%2BqW1BjhXWyjBAIs%3D” “https://stoazcopy2.blob.core.windows.net/contazcopy2?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-12-31T08:26:22Z&st=2021-12-17T00:26:22Z&spr=https&sig=8VU1jIue1g5P4Tbz3iA92F4IqdCcomFC029PlLSA928%3D” –recursive
Acima, o arquivo de origem é https://stoazcopy.blob.core.windows.net/contazcopy
E será copiado para https://stoazcopy2.blob.core.windows.net/contazcopy2
Aqui, destaquei o token SAS de origem.
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:07:26Z&st=2021-11-19T14:07:26Z&spr=https&sig=Q3Eg2YJ2J6%2FIbJ2Kfr%2B%2FwoKhs%2FTrQDTz54tX7Yfjja0%3D
E abaixo eu destaquei o token SAS de destino.
?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2021-11-26T22:17:35Z&st=2021-11-19T14:17:35Z&spr=https&sig=7bvL6II7Ft0QYME9BdveycCoYWcZ4ZbjWiUs%2FtRIvLI%3D
29 – Como podemos observar os arquivo do container contazcopy no storage account stoazcopy foram copiados para o container contazcopy2 no storage account stoazcopy2.
Comente suas sugestões e observações!
Forte abraço, obrigado e até o próximo post.
Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud
Computing e Cloud Security.
Forte atuação em projetos de Cloud Security no Microsoft Azure e com tecnologias de
segurança do Microsoft 365.
Tenho Experiência em Microsoft Azure, Microsoft 365, AWS e Windows Server.
Sou Microsoft MVP na categoria Microsoft Azure, AWS Communit Builder Security & Identity e
MCT.