Introdução
Uma equipe de relatórios precisa armazenar um relatório diário de vendas e recuperar a cópia atual. Você criará um bucket S3, enviará e atualizará o relatório, conferirá um download e removerá seus recursos de prática.
Conclua primeiro Primeiros passos com AWS no LabEx. A conexão da CLI e report.txt estão preparados nesta VM nova; nenhum login pessoal na AWS ou recurso anterior é necessário. Use Terminal para comandos e a aba AWS View, ao lado, para observar o armazenamento deste laboratório.
Relação com as certificações
Este laboratório oferece prática nos seguintes tópicos de exame.
- Cloud Practitioner (CLF-C02) · Tarefa 3.6: Armazenamento de objetos S3, uploads, atualizações e downloads.
- Solutions Architect – Associate (SAA-C03) · Tarefa 3.1: Armazenamento de objetos S3, uploads, atualizações e downloads.
- Developer – Associate (DVA-C02) · Tarefa 1.3: Armazenamento de objetos S3, uploads, atualizações e downloads.
- Data Engineer – Associate (DEA-C01) · Tarefa 1.1: Prática dos fundamentos: Armazenamento de objetos S3, uploads, atualizações e downloads.
Crie seu bucket de armazenamento
Nesta etapa, você criará um bucket para um relatório diário de vendas e o observará no AWS View.
Vá ao espaço de trabalho. cd muda o diretório atual do terminal; todos os arquivos locais deste laboratório usam esse diretório.
cd /home/labex/project
Confirme a versão preparada da CLI oficial:
aws --version
A saída começa com aws-cli/2.37.6. A imagem já fornece as ferramentas para que você possa se concentrar nas operações de armazenamento.
Amazon S3 armazena conteúdos de arquivos como objetos. Um bucket contém esses objetos, e uma chave dá nome a um objeto dentro dele. Primeiro, você criará o contêiner; depois, enviará o relatório.
Crie labex-backups. Em aws s3 mb, s3 seleciona armazenamento de objetos e mb significa criar bucket. O prefixo s3:// identifica uma localidade de armazenamento, não uma pasta local.
aws s3 mb s3://labex-backups
Saída esperada:
make_bucket: labex-backups
Liste os buckets com ls, que significa listar:
aws s3 ls
Você deve ver uma linha terminando em labex-backups; a data e a hora variam. Na pré-visualização do AWS View, um cartão labex-backups aparece sem objetos. As setas mostram como a CLI se conecta ao armazenamento; o nó do bucket reflete uma consulta efetiva ao recurso.
Envie e inspecione o relatório
Nesta etapa, você armazenará um relatório como objeto S3 e lerá seu conteúdo efetivamente armazenado pela pré-visualização.
O arquivo local e sua cópia armazenada são separados; envio e download conectam ambos.

Inspecione o arquivo local preparado. cat exibe o conteúdo de um arquivo de texto:
cat report.txt
Saída esperada:
Daily sales: 120 orders
cp significa copiar. O primeiro caminho abaixo é a origem local e o segundo é o destino. A parte após o nome do bucket, report.txt, é a chave do objeto.
aws s3 cp report.txt s3://labex-backups/report.txt
A saída informa um envio de report.txt para s3://labex-backups/report.txt.
Liste os objetos do bucket:
aws s3 ls s3://labex-backups/
A linha de report.txt mostra sua hora de modificação, tamanho e chave. Um envio cria uma cópia armazenada separada: editar apenas o arquivo local não a alteraria.
No AWS View, o cartão do bucket mostra 1 objeto. Clique em report.txt no cartão para expandir seu conteúdo. A pré-visualização deve mostrar Daily sales: 120 orders. Ela lê o objeto armazenado, não o arquivo de origem local.
O exemplo abaixo mostra o relatório enviado expandido no cartão do bucket. O conteúdo é lido do armazenamento.

Atualize e recupere a cópia armazenada
Nesta etapa, você substituirá o relatório, baixará a versão armazenada atual e comprovará que o conteúdo foi preservado no envio e download.
O relatório atualizado contém 145 pedidos. printf escreve texto; \n adiciona uma quebra de linha. O operador > do shell substitui o conteúdo do arquivo local indicado.
printf 'Daily sales: 145 orders\n' > report.txt
Observe a pré-visualização do relatório antes de enviar novamente. Ela ainda mostra 120 orders porque a cópia armazenada não mudou.
Envie para a mesma chave para substituir seu conteúdo atual:
aws s3 cp report.txt s3://labex-backups/report.txt
A pré-visualização agora mostra 145 orders, enquanto a quantidade de objetos permanece 1. Reutilizar uma chave atualiza esse objeto; não cria um segundo objeto com nome neste laboratório.
Baixe invertendo a direção de cp: o caminho S3 agora é a origem, e downloaded.txt é um novo destino local.
aws s3 cp s3://labex-backups/report.txt downloaded.txt
Inspecione o arquivo baixado:
cat downloaded.txt
Saída esperada:
Daily sales: 145 orders
cmp compara dois arquivos byte a byte. Ele não exibe nada e termina com sucesso quando são idênticos. && executa o comando seguinte apenas se essa comparação for bem-sucedida.
cmp report.txt downloaded.txt && echo 'Round trip verified'
Saída esperada:
Round trip verified
Essa comparação comprova que o conteúdo recuperado corresponde à sua origem atualizada. O verificador da etapa lê o S3 de forma independente e compara os conteúdos armazenado e baixado.
Limpe seu armazenamento
Nesta etapa, você aprenderá por que um bucket não vazio não pode ser removido e, depois, excluirá os objetos e o bucket deste laboratório.
rb significa remover bucket. Primeiro, tente removê-lo enquanto o relatório ainda existe:
aws s3 rb s3://labex-backups
Espera-se que este comando falhe com BucketNotEmpty. A falha ensina uma dependência entre recursos: um bucket contém objetos, portanto remova esses objetos antes de remover seu contêiner. O bucket e o objeto devem permanecer visíveis na pré-visualização.
rm remove um objeto no caminho S3 exato:
aws s3 rm s3://labex-backups/report.txt
A saída confirma delete: s3://labex-backups/report.txt. O objeto desaparece da pré-visualização; o bucket permanece vazio.
Agora remova o bucket vazio:
aws s3 rb s3://labex-backups
Saída esperada:
remove_bucket: labex-backups
Confirme que o serviço ainda responde e não lista nenhum bucket restante:
aws s3 ls
O comando termina sem linhas de buckets. AWS View mostra No buckets sem cartões de recursos. Esse estado vem de uma consulta bem-sucedida ao serviço; uma página desconectada não comprovaria a limpeza. Seus arquivos locais de relatório continuam disponíveis, enquanto os recursos de armazenamento foram removidos.
A visualização de limpeza abaixo mostra que não há cartões de buckets restantes após uma consulta bem-sucedida do estado.

Resumo
Você usou a AWS CLI oficial para criar um bucket, enviar e substituir um objeto, baixá-lo, comparar conteúdos de arquivos e remover os recursos de armazenamento. AWS View conectou seus comandos a mudanças observáveis nos recursos, e a pré-visualização mostrou conteúdo efetivamente armazenado.
Você praticou um fluxo completo de armazenamento de relatórios: organizar arquivos em um bucket, distinguir cópias locais e armazenadas, verificar um download e remover objetos antes de excluir seu bucket.



