9 comandos do AWS S3 com exemplos para gerenciar bucket e dados
Publicados: 2022-03-15O controle e o gerenciamento de dados podem ser uma tarefa árdua. Esses comandos do AWS S3 ajudarão você a gerenciar seus buckets e dados do AWS S3 de maneira rápida e eficiente.
AWS S3 é o serviço de armazenamento de objetos fornecido pela AWS. É o serviço de armazenamento mais usado da AWS que pode armazenar virtualmente uma quantidade infinita de dados. É altamente disponível, durável e fácil de integrar com vários outros serviços da AWS.
O AWS S3 pode ser usado por pessoas com quaisquer requisitos, como armazenamento de aplicativos móveis/web, armazenamento de big data, armazenamento de dados de aprendizado de máquina, hospedagem de sites estáticos e muito mais.
Se você estiver usando o S3 em seu projeto, saberá que, dada a grande capacidade de armazenamento, o gerenciamento de 100s de buckets e terabytes de dados nesses buckets pode ser um trabalho exigente. Temos uma lista de comandos do AWS S3 com exemplos que você pode usar para gerenciar seus buckets e dados do AWS S3 com eficiência.
Configuração da AWS CLI
Depois de fazer download e instalar a AWS CLI com êxito, você precisa configurar as credenciais da AWS para poder acessar sua conta e serviços da AWS. Vamos ver rapidamente como você pode configurar a AWS CLI.
A primeira etapa é criar um usuário com acesso programático à conta da AWS. Lembre-se de marcar essa caixa ao criar um usuário para a AWS CLI.

Dê as permissões e crie um usuário. Na tela final, depois de criar este usuário com sucesso, copie o ID da chave de acesso e a chave de acesso secreta para este usuário. Usaremos essas credenciais para fazer login por meio da AWS CLI.

Agora vá para o terminal de sua escolha e execute o seguinte comando.
aws configurar
Insira o ID da chave de acesso e a chave de acesso secreta quando solicitado. Selecione qualquer região da AWS de sua escolha e o formato de saída do comando. Eu pessoalmente prefiro usar o formato JSON. Isso não é grande coisa, você sempre pode alterar esses valores mais tarde.

Agora você pode executar qualquer comando da AWS CLI no console. Vamos agora percorrer os comandos do AWS S3.
cp
O comando cp simplesmente copia os dados de e para os buckets do S3. Ele pode ser usado para copiar arquivos do local para o S3, do S3 para o local e entre dois buckets do S3. Existem muitos outros parâmetros que você pode fornecer com os comandos.
Por exemplo, parâmetro -dryrun para testar o comando, parâmetro –storage-class para especificar a classe de armazenamento de seus dados no S3, outros parâmetros para definir a criptografia e muito mais. O comando cp oferece controle total sobre como você configura sua segurança de dados no S3.
Uso
aws s3 cp <FONTE> <DESTINATION> [--options]
Exemplos
Copiar dados do local para o S3
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt
Copie os dados do S3 para o local
aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt
Copiar dados entre buckets do S3
aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Copiar dados de local para S3 – IA
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Copie todos os dados de uma pasta local para o S3
aws s3 cp ./local_folder s3://bucket_name --recursive
ls
O comando ls é usado para listar os buckets ou o conteúdo dos buckets. Portanto, se você simplesmente deseja visualizar informações sobre seus buckets ou os dados nesses buckets, você pode usar o comando ls.
Uso:
aws s3 ls NONE ou <BUCKET_NAME> [--options]
Exemplos
Listar todos os buckets da conta
aws s3 ls Resultado: 02-02-2022 18:20:14 BUCKET_NAME_1 2022-03-20 13:12:43 BUCKET_NAME_2 29/03/2022 10:52:33 BUCKET_NAME_3
Este comando lista todos os buckets em sua conta com a data de criação do bucket.
Listar todos os objetos de nível superior em um bucket
aws s3 ls BUCKET_NAME_1 ou s3://BUCKET_NAME_1 Resultado: PRE amostraPrefixo/ 09-12-2021 12:23:20 8754 arquivo_1.png 09-12-2021 12:23:21 1290 arquivo_2.json 09-12-2021 12:23:21 3088 arquivo_3.html
Este comando lista todos os objetos de nível superior em um bucket do S3. Observe aqui que os objetos com o prefixo samplePrefix/ não são mostrados aqui apenas os objetos de nível superior.
Listar todos os objetos em um bucket
aws s3 ls BUCKET_NAME_1 ou s3://BUCKET_NAME_1 --recursive Resultado: 09-12-2021 12:23:20 8754 arquivo_1.png 09-12-2021 12:23:21 1290 arquivo_2.json 09-12-2021 12:23:21 3088 arquivo_3.html 2021-12-09 12:23:20 16328 samplePrefix/file_1.txt 2021-12-09 12:23:20 29325 samplePrefix/sampleSubPrefix/file_1.css
Este comando lista todos os objetos em um bucket do S3. Observe aqui que os objetos com o prefixo samplePrefix/ e todos os subprefixos também são exibidos.
mb
O comando mb é usado simplesmente para criar novos buckets do S3. Este é um comando bastante simples, mas para criar novos buckets, o nome do novo bucket deve ser exclusivo em todos os buckets do S3.
Uso
aws s3 mb <BUCKET_NAME>
Exemplo
Crie um novo bucket em uma região específica
aws s3 mb myUniqueBucketName --region eu-west-1
mv
O comando mv simplesmente move os dados de e para os buckets do S3. Assim como o comando cp, o comando mv é usado para mover dados de local para S3, S3 para local ou entre dois buckets do S3.

A única diferença entre o comando mv e o cp é que ao usar o comando mv o arquivo é deletado da fonte. A AWS move este arquivo para o destino. Há muitas opções que você pode especificar com o comando.
Uso
aws s3 mv <FONTE> <DESTINATION> [--options]
Exemplos
Mover dados de local para S3
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt
Mover dados do S3 para local
aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt
Mover dados entre buckets do S3
aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Mover dados de local para S3 – IA
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Mova todos os dados de um prefixo no S3 para uma pasta local.
aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive
prescrever
O comando presign gera um URL pré-assinado para uma chave no bucket do S3. Você pode usar esse comando para gerar URLs que podem ser usados por outras pessoas para acessar um arquivo na chave de bucket do S3 especificada.
Uso
aws s3 presign <OBJECT_KEY> –expires-in <TIME_IN_SECONDS>
Exemplo
Gere um URL pré-assinado válido por 1 hora para um objeto no bucket.
aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600 Resultado: https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1% 2Fs3%2Faws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a45c13e167b1055bcd7a45c13e167b1055bcd7a45c13e167b1055bcd7a45c13a3396debd3db
rb
O comando rb é usado simplesmente para excluir buckets do S3.
Uso
aws rb <BUCKET_NAME>
Exemplo
Exclua um bucket do S3.
aws s3 mb myBucketName # Este comando falha se houver algum dado neste bucket.
Exclua um bucket do S3 junto com os dados no bucket do S3.
aws s3 mb myBucketName --force
rm
O comando rm é usado simplesmente para excluir os objetos nos buckets do S3.
Uso
aws s3 rm <S3Uri_To_The_File>
Exemplos
Exclua um arquivo do bucket do S3.
aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt
Exclua todos os arquivos com um prefixo específico em um bucket do S3.
aws s3 rm s3://bucket_name/sample_prefix --recursive
Exclua todos os arquivos em um bucket do S3.
aws s3 rm s3://bucket_name --recursive
sincronizar
O comando sync copia e atualiza arquivos da origem para o destino, assim como o comando cp. É importante que entendamos a diferença entre o cp e o comando sync. Quando você usa cp, ele copia dados da origem para o destino, mesmo que os dados já existam no destino.
Ele também não excluirá arquivos do destino se eles forem excluídos da origem. No entanto, a sincronização analisa o destino antes de copiar seus dados e copia apenas os arquivos novos e atualizados. O comando sync é semelhante ao commit e push das alterações para um branch remoto no git. O comando de sincronização oferece muitas opções para personalizar o comando.
Uso
aws s3 sync <FONTE> <DESTINATION> [--options]
Exemplos
Sincronize a pasta local com o S3
aws s3 sync ./local_folder s3://bucket_name
Sincronize dados do S3 com uma pasta local
aws s3 sync s3://bucket_name ./local_folder
Sincronize dados entre dois buckets do S3
aws s3 sync s3://bucket_name s3://bucket_name_2
Mover dados entre dois buckets do S3, excluindo todos os arquivos .txt
aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt
local na rede Internet
Você pode usar buckets do S3 para hospedar sites estáticos. O comando website é usado para configurar a hospedagem de site estático do S3 para seu bucket.
Você especifica o índice e os arquivos de erro e o S3 fornece uma URL onde você pode visualizar o arquivo.
Uso
site aws s3 <S3_URI> [--options]
Exemplo:
Configure a hospedagem estática para um bucket do S3 e especifique os arquivos de índice e erro
aws s3 website s3://bucket_name --index-document index.html --error-document error.html
Conclusão
Espero que o acima dê uma ideia sobre alguns dos comandos do AWS S3 usados com frequência para gerenciar buckets. Se você estiver interessado em saber mais, confira os detalhes da certificação da AWS.