Como copiar dados entre os baldes da AWS e do Azure usando o rclone
Os dados são uma das mercadorias mais valiosas do mundo e não é difícil entender o porquê. Do marketing à genômica, a análise de grandes conjuntos de dados leva a modelos preditivos, que levam a resultados favoráveis para os negócios. Quanto mais dados você usar, melhores serão esses modelos, o que significa os melhores resultados que eles podem produzir. Obviamente, isso significa que mover dados de um lugar para outro é uma habilidade crucial para qualquer engenheiro, mas nem sempre é tão fácil quanto parece.
Por exemplo, se você usar o armazenamento de bucket do AWS S3, a movimentação de dados para outro bucket do S3 será um único comando da CLI, aws s3 cp s3: // SourceBucket / * s3: // DestinationBucket /. Mover esses mesmos arquivos para um provedor de nuvem diferente, como Microsoft Azure ou Google Cloud Platform, requer uma ferramenta totalmente diferente.
No final deste tutorial, você poderá sincronizar arquivos de um bucket do AWS S3 para um contêiner de armazenamento de blob do Azure usando o rclone, uma ferramenta de sincronização de dados de código aberto que funciona com a maioria dos provedores de nuvem e arquivos locais sistemas.
Pré-requisitos
Para acompanhar, você precisará do seguinte:
- Um bucket do AWS S3
- Um contêiner de armazenamento de blob do Azure
- Chaves de acesso da AWS e chaves de acesso à conta de armazenamento do Azure
- Um computador executando qualquer sistema operacional
- As capturas de tela são do Windows 10 com WSL
- Alguns arquivos para copiar
Como configurar o rclone
A instalação do rclone é diferente para cada sistema operacional, mas uma vez instalado, as instruções são as mesmas: execute rclone config
A execução do comando config solicitará que você vincule as contas dos seus provedores de nuvem ao rclone. O termo rclone para isso é remoto. Ao executar o comando config, digite n para criar um novo controle remoto. Você precisará de um para a AWS e o Azure, mas também existem vários outros fornecedores à sua escolha.
Azure
Depois de escolher o armazenamento de blobs do Azure, você precisará:
- Um nome para o controle remoto. (Nesta demonstração, é o Azure.)
- O nome da conta de armazenamento
- Uma das chaves de acesso da conta de armazenamento
Você será solicitado a fornecer um URL de assinatura de acesso compartilhado e, embora seja possível configurar usando isso, esta demonstração está apenas usando uma tecla de acesso. Depois de inserir o padrão para o restante dos valores pressionando Enter no restante da configuração, você poderá começar a usar o controle remoto.
Para listar os controles remotos configurados no seu sistema, digite rclone listremotes, que mostrará os controles remotos disponíveis. Você também pode listar todos os contêineres de armazenamento de blob executando rclone lsd < remote_name >:. Certifique-se de incluir um: no final do controle remoto ao executar esses comandos, porque é assim que o rclone determina se você deseja usar um controle remoto ou não. Você pode executar o rclone --help a qualquer momento para obter a lista de comandos disponíveis.
Usando os comandos ls e cat com um controle remoto rclone.
AWS S3
A configuração do controle remoto para um bucket S3 é muito semelhante ao contêiner de armazenamento de blobs do Azure, apenas com algumas pequenas diferenças. Como existem outros provedores de armazenamento em nuvem que são considerados compatíveis com S3 pelo rclone, você também pode receber alguns avisos extras ao executar a configuração do rclone. Você precisará:
- Um nome para o controle remoto. (Nesta demonstração, é a AWS.)
- Uma chave de acesso da AWS e a chave de acesso secreta correspondente
- A região da AWS em que o bucket está em
O restante dos prompts pode ser configurado para criar outros buckets ou executar outras operações, mas, para cópia, você pode pular o restante deles pressionando Enter.
Se o usuário ao qual as chaves de acesso pertencem tiver acesso ao bloco, você terá acesso a ele com os mesmos comandos usados para acessar o controle remoto do Azure.
Você pode confirmar o tipo de controle remoto adicionando o sinalizador --long ao comando rclone listremotes.
Executando o rclone
Agora que os controles remotos foram configurados, você pode transferir arquivos, criar novos buckets ou manipular os arquivos da maneira que precisar usando um conjunto de comandos padrão. Em vez de confiar em saber como trabalhar com a AWS S3 CLI ou o Azure PowerShell, você pode se comunicar entre os dois buckets de armazenamento com o rclone.
Alguns comandos úteis comuns para você começar são:
- árvore rclone < Remote >: < BucketName & > — Lista o conteúdo do bucket em um formato de árvore. Adicione o sinalizador -C para adicionar cor à saída.
- tamanho do rclone & Remote; gt;: < BucketName > — Exibe o número de arquivos no bucket e seu tamanho total.
- sincronização rclone < Source > < Target > — Faz o destino corresponder à fonte, mas apenas modifica o alvo. A origem e o destino podem ser caminhos de arquivos locais ou caminhos remotos rclone. Adicione o sinalizador -P para visualizar o progresso interativamente.
No exemplo a seguir, o bucket do AWS S3 é sincronizado com o remoto do Azure, que exclui o arquivo existente no Azure e copia os dados do S3. Se você precisar manter os arquivos na pasta de destino, use o comando rclone copyto.
Resumo
Até agora, você deve se sentir confortável em instalar o rclone e configurar controles remotos, além de usá-los para copiar dados entre nuvens diferentes. O rclone é uma ferramenta extremamente flexível e não se limita apenas à AWS e ao Azure; portanto, se você usar outro provedor de nuvem, tente configurar controles remotos para eles também.
Via: How to Geek
Nenhum comentário