Skip to main content

Download, Cópia e Movimentação de Objetos

Normalmente, se há a necessidade de manipular objetos, sendo assim é de suma importância saber como realizar o download, cópia e movimentação de objetos. Sendo que tais operações podem ser utilizadas para realizar backups, transferir dados entre o sistema local e/ou outros buckets. Este tutorial, percorre e descreve operações de download, cópia e movimentação de objetos em um bucket de armazenamento.



Download de Objeto

Baixar um objeto específico de um bucket pode ser essencial para acessar dados ou realizar backups.

mgc object-storage objects download NOME_DO_BUCKET/CAMINHO_DO_OBJETO /CAMINHO_PARA_SALVAR_O_ARQUIVO


Download de Todos Objetos

Transferir todos os objetos de um bucket para sua máquina local é uma tarefa comum, especialmente para backup ou análise.

mgc object-storage objects download-all NOME_DO_BUCKET CAMINHO_DA_PASTA_LOCAL


Sincronizar Diretórios

Sincronizar diretórios permite manter os arquivos de um diretório local e um bucket de armazenamento sempre atualizados. Isso é útil quando você precisa garantir que as alterações feitas localmente sejam refletidas no armazenamento na nuvem.

mgc object-storage objects sync --src DIRETÓRIO_LOCAL --dst s3://NOME_DO_BUCKET

Exemplo: Sincronizando um Diretório Local com um Bucket utilizando MGC-CLI

A sincronização de diretórios permite que você mantenha os arquivos de um diretório local e de um bucket no Magalu Cloud sempre atualizados. Neste exemplo, sincronizaremos o diretório local syncdir com o bucket syncdir-test.

Estrutura do Diretório Local

O diretório syncdir possui a seguinte estrutura:

➜  syncdir ls -R
.:
file.txt path1

./path1:
filepath1.txt path2

./path1/path2:
filepath2.txt

Comando Utilizado

O comando abaixo é utilizado para sincronizar os arquivos do diretório syncdir com o bucket syncdir-test:

mgc object-storage objects sync --src ./syncdir --dst s3://syncdir-test

Saída do Comando:

➜  ~ mgc object-storage objects sync  ./syncdir  s3://syncdir-test
deleted: 0
deletedFiles: ""
dst: s3://syncdir-test
hasDeleted: false
src: ./syncdir
uploaded: 3

Resultado no Bucket

Após a sincronização, os objetos foram enviados ao bucket syncdir-test. A estrutura no bucket reflete a organização do diretório local.

Listando o Bucket:

mgc object-storage objects list syncdir-test

Saída do Comando:

➜  ~ mgc object-storage objects list syncdir-test   
CommonPrefixes:
- Path: path1/
Contents:
- ContentSize: 0
Key: file.txt
LastModified: 2024-12-13T14:38:42.921Z
StorageClass: STANDARD

Listando Subdiretórios:

➜  ~ mgc object-storage objects list syncdir-test/path1      
CommonPrefixes:
- Path: path1/path2/
Contents:
- ContentSize: 0
Key: path1/filepath1.txt
LastModified: 2024-12-13T14:38:42.950Z
StorageClass: STANDARD
➜ ~ mgc object-storage objects list syncdir-test/path1/path2
CommonPrefixes: []
Contents:
- ContentSize: 0
Key: path1/path2/filepath2.txt
LastModified: 2024-12-13T14:38:42.856Z
StorageClass: STANDARD

A sincronização foi realizada com sucesso, garantindo que todos os arquivos e subdiretórios do diretório local syncdir fossem enviados ao bucket syncdir-test. Este processo é especialmente útil para manter backups ou sincronizar grandes volumes de dados de forma simples e eficiente



Mover Objetos entre Buckets

Quando é necessário reorganizar os objetos armazenados em seus buckets, mover arquivos entre eles pode ser uma solução prática.

mgc object-storage objects move s3://BUCKET_ORIGEM/ARQUIVO_ORIGEM s3://BUCKET_DESTINO/ARQUIVO_DESTINO


Mover Diretórios entre Buckets

Se você precisa reorganizar seus dados, mover diretórios entre buckets é uma solução eficaz.

aws s3 mv s3://NOME_DO_BUCKET_ORIGEM/my-folder/ s3://NOME_DO_BUCKET_DESTINO/new-folder/ --recursive


Copiar Objetos entre Buckets

Copiar objetos entre buckets proporciona redundância e segurança para seus dados, sendo assim é uma operação comum.

mgc object-storage objects copy BUCKET_ORIGEM/ARQUIVO_ORIGEM BUCKET_DESTINO


Copiar Todos os Objetos entre Buckets

Assim como copiar objetos, copiar todos os objetos de um bucket para outro é uma operação comum facilitando o processo de transferencias de grandes volumes de objetos.

mgc object-storage objects copy-all NOME_DO_BUCKET_ORIGEM NOME_DO_BUCKET_DESTINO