Organiza documentos con claves y metadatos

AWSBeginner
Practicar Ahora

Introducción

Una vez almacenado un archivo, su nombre y sus propiedades ayudan al equipo a encontrar el documento correcto. Organiza documentos de finanzas y RR. HH. en un bucket, inspecciona el informe financiero y elimina solo su prefijo, conservando RR. HH.

Completa primero Almacena y recupera archivos en S3. Esta VM nueva proporciona la conexión de la CLI y los documentos locales; no se necesitan recursos anteriores ni credenciales personales. Utiliza Terminal para los comandos y AWS View en la parte superior, para comparar claves, propiedades y contenidos almacenados.

Relación con las certificaciones

Certificación Tarea del examen Práctica
Cloud Practitioner (CLF-C02) Tarea 3.6 Claves, prefijos y metadatos de objetos S3.
Solutions Architect – Associate (SAA-C03) Tarea 3.1 Claves, prefijos y metadatos de objetos S3.
Developer – Associate (DVA-C02) Tarea 1.3 Claves, prefijos y metadatos de objetos S3.

Vista general del laboratorio

Diagrama conceptual: los documentos de finanzas y RR. HH. comparten un bucket S3; las claves y los metadatos identifican el informe financiero para inspeccionarlo, descargarlo y eliminar solo su alcance, conservando RR. HH.

Elige claves y sube documentos de equipo

En este paso, utilizarás claves de objetos significativas para separar los documentos de dos departamentos en un bucket.

Un directorio local almacena archivos en tu máquina; un bucket almacena objetos en S3. Entra en el espacio de trabajo preparado con cd (cambiar de directorio):

cd /home/labex/project

El directorio documents proporcionado contiene dos pequeños archivos de texto. cat muestra su contenido para que sepas qué vas a almacenar:

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

Un archivo CSV utiliza comas para separar columnas. Aquí las dos columnas son mes e ingresos; cada línea posterior es un registro.

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

Crea un bucket con aws s3 mb (crear bucket). s3:// identifica una ubicación de almacenamiento en lugar de una ruta local:

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

El comando informa de make_bucket: labex-team-documents.

La clave de finanzas será finance/2026-09/revenue.csv. Las barras facilitan agrupar el nombre, pero S3 no crea directorios de sistema de archivos: toda la cadena es una clave de objeto. Su prefijo finance/ agrupa documentos de finanzas; el prefijo más largo finance/2026-09/ limita el grupo a un mes.

Content-Type es un metadato estándar que describe el formato de un archivo. text/csv identifica texto separado por comas. Los metadatos personalizados contienen tus propios pares descriptivos de clave y valor. Aquí department=finance y period=2026-09 describen el informe; no conceden permisos ni cambian su contenido.

Claves, prefijo y metadatos — Este ejemplo separa el prefijo de la clave del resto del nombre; los metadatos pertenecen al objeto.

aws s3 cp copia la primera ruta a la segunda. --content-type establece el formato explícitamente. --metadata acepta pares name=value separados por comas. Las comillas mantienen unido el argumento de metadatos. Una barra invertida al final de una línea continúa el mismo comando en la línea siguiente:

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'

El mensaje de subida indica la clave de destino. Sube el documento de bienvenida con su propia clave y propiedades. text/plain significa texto normal sin un formato de documento especializado:

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

Utiliza ls (listar) y --recursive para mostrar las claves completas de todo el bucket en lugar de agruparlas en prefijos con apariencia de carpetas:

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

Dos líneas terminan en finance/2026-09/revenue.csv y hr/welcome.txt; las marcas de tiempo varían. AWS View muestra ambas claves en el mismo bucket. Has organizado objetos por nombre sin crear buckets separados para cada departamento.

Inspecciona las propiedades y recupera un informe

En este paso, seleccionarás los objetos de un departamento, inspeccionarás los metadatos y demostrarás que un informe descargado coincide con su origen.

aws s3api expone operaciones individuales de la API de S3. Los comandos de nivel superior aws s3 gestionan flujos habituales de archivos; ambos operan sobre los mismos objetos. list-objects-v2 enumera registros de objetos. --bucket indica el contenedor y --prefix limita las claves devueltas por S3 a las que comienzan por esa cadena:

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

Busca finance/2026-09/revenue.csv en Contents. No hay ningún objeto de HR en esta respuesta porque hr/welcome.txt no comienza por finance/. Un prefijo filtra nombres, no metadatos personalizados: department=finance por sí solo no incluiría en este resultado una clave con otro nombre.

head-object recupera las propiedades del objeto sin descargar su cuerpo. Proporciona la clave completa, incluido su prefijo:

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

La respuesta incluye ContentType establecido en text/csv, ContentLength (bytes almacenados) y un objeto Metadata que contiene department y period. Otros campos, como las marcas de tiempo y ETag, describen el objeto almacenado. Los metadatos están asociados a la copia almacenada, no al archivo local original.

En AWS View, haz clic en finance/2026-09/revenue.csv. La tarjeta desplegada muestra su Content-Type, sus metadatos personalizados y el contenido CSV realmente almacenado. Compáralos con la respuesta de la CLI.

Clave de finanzas, metadatos y contenido CSV — Este ejemplo muestra el objeto de finanzas desplegado, con propiedades y contenido leídos del almacenamiento:

Descarga utilizando el URI de S3 como origen y un nuevo nombre de archivo local como destino. Su nombre no tiene que coincidir con la clave:

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

Inspecciona lo recuperado:

cat retrieved-revenue.csv

Debería mostrar las mismas dos líneas CSV que inspeccionaste antes. cmp compara dos archivos locales byte a byte; no produce salida si coinciden. El operador && del shell ejecuta el mensaje solo cuando esa comparación tiene éxito:

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

Esto demuestra que la recuperación conservó los bytes del informe. Tu archivo local tiene el contenido; utiliza head-object cuando necesites inspeccionar las propiedades almacenadas en S3.

Elimina únicamente el prefijo de finanzas

En este paso, vaciarás los documentos de finanzas conservando el documento de HR.

Un bucket compartido puede contener trabajo ajeno a la tarea. Eliminar todo el bucket o utilizar su raíz como destino de eliminación recursiva afectaría a ambos departamentos. Elige en su lugar el prefijo concreto finance/. La barra final forma parte del prefijo y mantiene nombres como finance-archive.csv fuera de este alcance.

aws s3 rm elimina objetos. --recursive aplica la operación a todas las claves coincidentes y --dryrun enumera las operaciones previstas sin realizarlas. Primero revisa el alcance exacto:

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

La salida de la simulación indica únicamente finance/2026-09/revenue.csv. No debe indicar hr/welcome.txt. Los objetos todavía existen en este momento.

Quita --dryrun para realizar la operación revisada:

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

La salida confirma la eliminación de la clave de finanzas. Consulta de nuevo el bucket:

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

Solo queda hr/welcome.txt. En AWS View, despliega ese objeto restante: su mensaje de bienvenida y los metadatos department=hr no han cambiado. Una lista y una lectura correctas establecen que eliminaste el alcance previsto conservando el documento de otro departamento.

Resumen

Organizaste objetos con claves, prefijos, tipos de contenido y metadatos personalizados, y verificaste el informe recuperado byte a byte. El dry run permitió revisar el borrado limitado a finanzas; la consulta final y AWS View confirmaron que el documento de RR. HH. y sus propiedades permanecían intactos.

Para ampliar este tema, consulta la referencia de AWS: Claves y prefijos de objetos S3; Metadatos de objetos S3.