Azure CLI— Copiando dados entre contas do Azure Blob Storage
Olá pessoal, no post de hoje vamos falar sobre cópia de arquivos entre contas do Azure Blob Storage utilizando o próprio Azure CLI.
Outra possibilidade de realização dessa tarefa é utilizando o AzCopy, caso queira saber mais sobre o assunto, clique aqui para acessar o post que eu fiz a respeito.
O que é Azure CLI?
Para entender melhor o que é Azure CLI, vamos pegar uma definição fornecida pela própria Microsoft.
A CLI do Azure (interface de linha de comando do Azure) é um conjunto de comandos usado para criar e gerenciar recursos do Azure. A CLI do Azure está disponível nos serviços do Azure e foi criada para ajudar você a trabalhar de maneira rápida com o Azure, com ênfase na automação.
Demonstração
Na demonstração de hoje, vamos aprender como realizar cópia de arquivos entre contas e containers do Azure Blob Storage.
Pré-requisitos
Configuração do Azure CLI
Com o Azure CLI instalado em nossa máquina, o primeiro passo é realizar a autenticação na conta do Azure utilizando o seguinte comando.
az login
Com a autenticação feita, precisamos definir a Subscription que vamos utilizar para o provisionamento dos recursos, para isso utilize o seguinte comando.
az account set -s nome-da-subscription
No comando az account
definimos qual recurso queremos acessar no Azure, nesse caso queremos utilizar a nossa Subscription. O comando set
é responsável por informar que queremos definir uma Subscription específica e o argumento -s
é onde passamos o nome da Subscription desejada.
Comando para cópia em batch (todos os arquivos)
O comando az storage blob copy
é onde informamos o recurso desejado e a ação sobre esse recurso, no caso o acrônimo storage blob significa Azure Blob Storage e a ação desejada é o copy que é o comando de cópia. O comando start-batch significa realizar a cópia de tudo o que está no container e as flags são basicamente as informações de origem e destino das informações.
Comando para cópia sem batch
Esse segundo comando que apresentamos acima é bem similar ao primeiro, porém invés de usar o start-batch, utilizamos o comando start indicando a intenção de copiar apenas um blob específico. Com isso, também é preciso indicar o blob de origem do arquivo utilizando o comando --source-blob
e o blob de destino utilizando o --destination-blob
, os demais argumentos são informações base da conta.
Contas no Azure Blob Storage
Para a demonstração, vamos utilizar duas contas do Azure Blob Storage onde cada conta possui um container, conforme demonstrado abaixo.
API Key
Para a realização da cópia das informações de uma conta para outra, precisamos utilizar uma Key de acesso ao recurso de origem e uma outra Key de acesso ao recurso de destino.
Ambas as Keys estão disponível no Portal do Azure na página do recurso provisionado do Azure Blob Storage. Para acessá-la, basta escolher a conta de origem, em seguida no menu lateral seleciona a opção Access Keys, por fim duas keys serão exibidas e você pode utilizar qualquer uma delas.
Copiando arquivos de uma conta para outra
Após configurado corretamente os recursos, vamos agora para a execução da cópia das informações entre as contas.
Antes de prosseguir com a cópia, vamos realizar um upload de dois arquivos para o container images da conta pagottoblob1. Esses arquivos serão utilizados para cópia para outra conta.
A conta pagottoblob3 do Azure Blob Storage por sua vez está vazia visto que a utilizaremos como conta de destino.
Com tudo pronto, agora é o momento de realizar a ação de copiar as informações de uma conta para outra e para isso vamos utilizar o comando de cópia em batch que aprendemos acima para que os arquivos de um container sejam copiados para o container de destino.
Com a finalização do processo, é exibido o nome de todos os arquivos em que a cópia foi realizada, logo o container images da conta pagottoblob3 possui todos os arquivos da conta de origem.
E ai, gostou desse post? Quer conversar um pouco mais sobre? Deixe um comentário com suas dúvidas e idéias ou entre em contato através do LinkedIn.