Transferindo arquivos locais para uma storage account com o azcopy

As vezes precisamos mandar arquivos para uma storage account no Azure. Podemos fazer isso de várias maneiras, mas uma que geralmente uso é o AzCopy.

O AzCopy é um utilitário de linha de comando que nos ajuda a copiar arquivos locais ou de outras storage accounts para um nova storage account. Além disso, por ser uma linha de comando podemos usar ele em scripts.

Então vamos lá, primeira coisa que devemos fazer é baixar o AzCopy. Ele pode ser encontrado aqui: “AzCopy”

Feito isso, basta descompactar em alguma pasta no seu computador. No meu caso eu escolhi no d:\temp\azcopy, conforme imagem:

explorer com o azcopy
explorer com o azcopy (clique para ampliar)

Agora, para facilitar nossa vida, vamos adicionar esse diretório nas variáveis de ambiente para poder chamar ele de qualquer local do seu computador. Para isso, abra uma janela de cmd e digite (Lembre de alterar para o diretório que você utilizou):

set PATH=%PATH%;D:\temp\azcopy

Feito isso, você já pode chamar o azcopy. Para testarmos, na própria command line digite:

azcopy --help

Você deverá ver a seguinte tela:

command line com resultado do comando azcopy help
command line com resultado do comando azcopy help (clique para ampliar)

Pronto, agora precisamos criar uma storage account. Para criar uma storage account, acesse o portal do azure (http://portal.azure.com) e faça o login com o seu usuário. Depois disso na tela principal, na área de pesquisa, digite storage account, conforme imagem abaixo:

imagem do azure portal
imagem do azure portal (clique para ampliar)

Com isso, nós iremos ver a tela para adicionar a storage account. Clique no botão Add

adicionando uma storage account
adicionando uma storage account (clique para ampliar)

Preencha o formulário com a sua subscription e o resource group que você deseja colocar sua nova storage account.

resource group e subscription
resource group e subscription (clique para ampliar)

Depois complemente com o nome da storage account e a região que você deseja criar

complemento criação storage account
complemento criação storage account (clique para ampliar)

Agora clique no botão Review + create e depois da validação se tudo tiver certo, clique no botão Create. Aguarde o Azure criar a sua storage account. Assim que terminar, navegue até a página da sua nova storage account. pagina da storage account criada

Agora precisamos criar um container BLOB para subir nossos arquivos, para isso, na tela principal, clique em Containers conforme destacado na imagem anterior. Com isso você verá a seguinte tela:

pagina para criação de containers
pagina para criação de containers (clique para ampliar)

Agora, clique no botão + e preencha com o nome do seu container

formulário de criação do container
formulário de criação do container (clique para ampliar)

Pronto, seu container estará pronto.

Agora precisamos gerar uma SAS Key para utilizar no comando do Azcopy. Essa chave que vai permitir que consigamos subir arquivos para a nossa storage account.

Obs: existem outras maneiras de autenticação, mas nesse artigo estou usando o modelo de SAS Key.

Para gerarmos uma SAS Key, vamos no menu à esquerda e procurar pela opção: Shared Access signature, conforme imagem:

menu sas key
menu sas key (clique para ampliar)

Nessa tela vamos definir as permissões que essa chave conterá e a data de validade. Aqui vou utilizar a padrão, mas você defina as permissões específicas.

formulário criação SAS Key
formulário criação SAS Key (clique para ampliar)

formulário criação SAS Key
formulário criação SAS Key (clique para ampliar)

Depois clique no botão Generate SAS and connection string e você verá a seguinte tela:

sas key gerada
sas key gerada (clique para ampliar)

Copie o valor do campo SAS Token pois vamos precisar dele.

Com o token gerado, agora precisamos montar a url de acesso. Essa url é composta da seguinte forma:

[nm_storage_account].blob.core.window.net/[nm_container]?[SAS Token]

Com posse dessas informações, vamos agora executar o comando. Na command line digite:

azcopy copy "arquivo_diretorio_que_voce_deseja" "url_montada_no_passo_anterior."

command line az copy
command line az copy (clique para ampliar)

Agora podemos navegar no portal do Azure e ver novamente nosso container e nosso arquivo estará lá.

arquivo dentro do container
arquivo dentro do container (clique para ampliar)

Espero que tenha gostado e se tiver alguma dúvida específica me manda um e-mail ou deixe nos comentários.

Até a próxima, Claudio Romão



24/01/2020 | Por Claudio Romão | Em Técnico | Tempo de leitura: 3 mins.

Postagens relacionadas