Organize documentos com chaves e metadados

AWSBeginner
Pratique Agora

Introdução

Depois de armazenar um arquivo, seu nome e suas propriedades ajudam a equipe a encontrar o documento certo. Organize documentos financeiros e de RH em um bucket, inspecione o relatório financeiro e exclua apenas seu prefixo, preservando o RH.

Conclua primeiro Armazene e recupere arquivos no S3. Esta VM nova fornece a conexão da CLI e documentos locais; nenhum recurso anterior ou credencial pessoal é necessário. Use Terminal para comandos e AWS View na parte superior para comparar chaves, propriedades e conteúdos armazenados.

Relação com as certificações

Certificação Tarefa do exame Prática
Cloud Practitioner (CLF-C02) Tarefa 3.6 Chaves, prefixos e metadados de objetos S3.
Solutions Architect – Associate (SAA-C03) Tarefa 3.1 Chaves, prefixos e metadados de objetos S3.
Developer – Associate (DVA-C02) Tarefa 1.3 Chaves, prefixos e metadados de objetos S3.

Visão geral do laboratório

Diagrama conceitual: documentos financeiros e de RH compartilham um bucket S3; chaves e metadados identificam o relatório financeiro para inspeção, recuperação e exclusão delimitada, preservando RH.

Escolha chaves e envie documentos das equipes

Nesta etapa, você usará chaves de objetos significativas para separar documentos de dois departamentos em um bucket.

Um diretório local armazena arquivos na sua máquina; um bucket armazena objetos no S3. Entre no espaço de trabalho preparado com cd (mudar de diretório):

cd /home/labex/project

O diretório documents fornecido contém dois pequenos arquivos de texto. cat exibe seus conteúdos para que você saiba o que está prestes a armazenar:

cat documents/revenue.csv
month,revenue
2026-09,42000

Um arquivo CSV usa vírgulas para separar colunas. Aqui, as duas colunas são mês e receita; cada linha seguinte é um registro.

cat documents/welcome.txt
Welcome to the reporting team.

Crie um bucket com aws s3 mb (criar bucket). s3:// identifica uma localidade de armazenamento em vez de um caminho local:

aws s3 mb s3://labex-team-documents

O comando informa make_bucket: labex-team-documents.

A chave de finanças será finance/2026-09/revenue.csv. As barras tornam o nome fácil de agrupar, mas o S3 não cria diretórios de sistema de arquivos: a string inteira é uma única chave de objeto. Seu prefixo finance/ agrupa documentos de finanças; o prefixo mais longo finance/2026-09/ restringe o grupo a um mês.

Content-Type é um metadado padrão que descreve o formato de mídia de um arquivo. text/csv identifica texto separado por vírgulas. Metadados personalizados contêm seus próprios pares descritivos de chave e valor. Aqui, department=finance e period=2026-09 descrevem o relatório; eles não concedem permissões nem alteram seu conteúdo.

Chaves, prefixo e metadados — Este exemplo separa o prefixo da chave do restante do nome; os metadados pertencem ao objeto.

aws s3 cp copia o primeiro caminho para o segundo. --content-type define explicitamente o formato. --metadata aceita pares name=value separados por vírgulas. As aspas mantêm o argumento de metadados unido. Uma barra invertida no final de uma linha continua o mesmo comando na linha seguinte:

aws s3 cp documents/revenue.csv s3://labex-team-documents/finance/2026-09/revenue.csv \
  --content-type text/csv \
  --metadata 'department=finance,period=2026-09'

A mensagem de envio indica a chave de destino. Envie o documento de boas-vindas com sua própria chave e propriedades. text/plain significa texto comum sem um formato de documento especializado:

aws s3 cp documents/welcome.txt s3://labex-team-documents/hr/welcome.txt \
  --content-type text/plain \
  --metadata 'department=hr'

Use ls (listar) e --recursive para exibir chaves completas em todo o bucket em vez de agrupá-las em prefixos semelhantes a pastas:

aws s3 ls s3://labex-team-documents/ --recursive

Duas linhas terminam em finance/2026-09/revenue.csv e hr/welcome.txt; os horários variam. AWS View mostra ambas as chaves no mesmo bucket. Você organizou objetos por nome, sem criar buckets separados para cada departamento.

Inspecione propriedades e recupere um relatório

Nesta etapa, você selecionará os objetos de um departamento, inspecionará metadados e comprovará que um relatório baixado corresponde à sua origem.

aws s3api expõe operações individuais da API do S3. Os comandos de nível mais alto aws s3 lidam com fluxos comuns de arquivos; ambos operam sobre os mesmos objetos. list-objects-v2 lista registros de objetos. --bucket indica o contêiner e --prefix limita as chaves retornadas pelo S3 às que começam com essa string:

aws s3api list-objects-v2 --bucket labex-team-documents --prefix finance/

Encontre finance/2026-09/revenue.csv em Contents. Não há objeto de RH nesta resposta porque hr/welcome.txt não começa com finance/. Um prefixo filtra nomes, não metadados personalizados: apenas department=finance não colocaria uma chave com outro nome neste resultado.

head-object recupera as propriedades do objeto sem baixar seu corpo. Forneça a chave completa, incluindo seu prefixo:

aws s3api head-object --bucket labex-team-documents --key finance/2026-09/revenue.csv

A resposta inclui ContentType definido como text/csv, ContentLength (bytes armazenados) e um objeto Metadata contendo department e period. Outros campos, como horários e ETag, descrevem o objeto armazenado. Os metadados estão associados à cópia armazenada, não ao arquivo local original.

No AWS View, clique em finance/2026-09/revenue.csv. O cartão expandido mostra seu Content-Type, metadados personalizados e o conteúdo CSV efetivamente armazenado. Compare-os com a resposta da CLI.

Chave de finanças, metadados e conteúdo CSV — Este exemplo mostra o objeto de finanças expandido, com propriedades e conteúdo lidos do armazenamento:

Baixe usando a URI S3 como origem e um novo nome de arquivo local como destino. Seu nome não precisa corresponder à chave:

aws s3 cp s3://labex-team-documents/finance/2026-09/revenue.csv retrieved-revenue.csv

Inspecione o que você recuperou:

cat retrieved-revenue.csv

Ele deve mostrar as mesmas duas linhas CSV que você inspecionou antes. cmp compara dois arquivos locais byte a byte; não produz saída quando há correspondência. O && do shell executa a mensagem apenas quando essa comparação é bem-sucedida:

cmp documents/revenue.csv retrieved-revenue.csv && echo 'Report content matches'
Report content matches

Isso comprova que a recuperação preservou os bytes do relatório. Seu arquivo local contém o conteúdo; use head-object quando precisar inspecionar as propriedades armazenadas no S3.

Remova apenas o prefixo de finanças

Nesta etapa, você removerá os documentos de finanças preservando o documento de RH.

Um bucket compartilhado pode conter trabalho não relacionado. Excluir o bucket inteiro ou usar sua raiz como destino de exclusão recursiva afetaria ambos os departamentos. Escolha o prefixo específico finance/. A barra final faz parte do prefixo e mantém nomes como finance-archive.csv fora desse escopo.

aws s3 rm remove objetos. --recursive aplica a operação a todas as chaves correspondentes, e --dryrun lista as operações pretendidas sem realizá-las. Primeiro, visualize o escopo exato:

aws s3 rm s3://labex-team-documents/finance/ --recursive --dryrun

A saída de teste indica apenas finance/2026-09/revenue.csv. Ela não deve indicar hr/welcome.txt. Os objetos ainda existem neste momento.

Remova --dryrun para realizar a operação revisada:

aws s3 rm s3://labex-team-documents/finance/ --recursive

A saída confirma a exclusão da chave de finanças. Consulte o bucket novamente:

aws s3 ls s3://labex-team-documents/ --recursive

Resta apenas hr/welcome.txt. No AWS View, expanda esse objeto restante: sua mensagem de boas-vindas e os metadados department=hr estão inalterados. Uma listagem e leitura bem-sucedidas confirmam que você removeu o escopo pretendido preservando o documento de outro departamento.

Resumo

Você organizou objetos com chaves, prefixos, tipos de conteúdo e metadados personalizados, depois verificou o relatório recuperado byte a byte. O dry run ajudou a revisar a exclusão restrita às finanças; a consulta final e o AWS View confirmaram que o documento de RH e suas propriedades permaneceram intactos.

Para aprofundar o tema, consulte a documentação da AWS: Chaves e prefixos de objetos S3; Metadados de objetos S3.