9 comandos do AWS S3 com exemplos para gerenciar bucket e dados

O 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 uma tarefa 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.

  Configurando seu Mac para produtividade sem aplicativos de terceiros

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 configure 

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 <SOURCE> <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.

  O que é um GIF e como usá-lo?

Uso:

aws s3 ls NONE or <BUCKET_NAME> [--options]

Exemplos

Listar todos os buckets da conta

aws s3 ls

Output:
2022-02-02 18:20:14 BUCKET_NAME_1
2022-03-20 13:12:43 BUCKET_NAME_2
2022-03-29 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 or s3://BUCKET_NAME_1 

Output:
                           PRE samplePrefix/
2021-12-09 12:23:20       8754 file_1.png
2021-12-09 12:23:21       1290 file_2.json
2021-12-09 12:23:21       3088 file_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 or s3://BUCKET_NAME_1 --recursive

Output:
2021-12-09 12:23:20       8754 file_1.png
2021-12-09 12:23:21       1290 file_2.json
2021-12-09 12:23:21       3088 file_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.

  O que é o Microsoft Teams e é adequado para minha empresa?

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 <SOURCE> <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 –expires-in

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

Output:
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=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a45c13a33debd3db1be96

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
# This command fails if there is any data in this 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 de sincronização é semelhante a enviar e enviar alterações para uma ramificação remota no git. O comando de sincronização oferece muitas opções para personalizar o comando.

Uso

aws s3 sync <SOURCE> <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

aws s3 website <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.