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:
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:
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:
Com isso, nós iremos ver a tela para adicionar a storage account. Clique no botão Add
Preencha o formulário com a sua subscription e o resource group que você deseja colocar sua nova storage account.
Depois complemente com o nome da storage account e a região que você deseja criar
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.
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:
Agora, clique no botão + e preencha com o nome do seu container
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:
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.
Depois clique no botão Generate SAS and connection string e você verá a seguinte tela:
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."
Agora podemos navegar no portal do Azure e ver novamente nosso container e nosso arquivo estará lá.
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
-
Tags:
- DevOps
- Azure
- Storage Account
24/01/2020 | Por Claudio Romão | Em Técnico | Tempo de leitura: 3 mins.