Introducción
Un equipo de informes necesita almacenar un informe diario de ventas y recuperar la copia actual. Crearás un bucket de S3, subirás y actualizarás el informe, comprobarás una descarga y eliminarás tus recursos de práctica.
Completa primero Primeros pasos con AWS en LabEx. La conexión de la CLI y report.txt están preparados en esta VM nueva; no se necesita iniciar sesión personalmente en AWS ni recursos anteriores. Utiliza Terminal para los comandos y la pestaña AWS View, a su lado, para observar el almacenamiento de este laboratorio.
Relación con las certificaciones
Este laboratorio ofrece práctica para los siguientes temas de examen.
- Cloud Practitioner (CLF-C02) · Tarea 3.6: Almacenamiento de objetos S3, cargas, actualizaciones y descargas.
- Solutions Architect – Associate (SAA-C03) · Tarea 3.1: Almacenamiento de objetos S3, cargas, actualizaciones y descargas.
- Developer – Associate (DVA-C02) · Tarea 1.3: Almacenamiento de objetos S3, cargas, actualizaciones y descargas.
- Data Engineer – Associate (DEA-C01) · Tarea 1.1: Práctica de fundamentos: Almacenamiento de objetos S3, cargas, actualizaciones y descargas.
Crea tu bucket de almacenamiento
En este paso, crearás un bucket para un informe diario de ventas y lo observarás en AWS View.
Ve al espacio de trabajo. cd cambia el directorio actual de la terminal; todos los archivos locales de este laboratorio utilizan este directorio.
cd /home/labex/project
Confirma la versión de la CLI oficial preparada:
aws --version
La salida comienza por aws-cli/2.37.6. La imagen ya proporciona las herramientas para que puedas centrarte en las operaciones de almacenamiento.
Amazon S3 almacena el contenido de los archivos como objetos. Un bucket contiene esos objetos y una clave identifica un objeto dentro de él. Primero crearás el contenedor y después subirás el informe.
Crea labex-backups. En aws s3 mb, s3 selecciona el almacenamiento de objetos y mb significa crear un bucket. El prefijo s3:// identifica una ubicación de almacenamiento, no una carpeta local.
aws s3 mb s3://labex-backups
Salida esperada:
make_bucket: labex-backups
Enumera los buckets con ls, que significa listar:
aws s3 ls
Deberías ver una línea que termina en labex-backups; su fecha y hora varían. En la vista previa de AWS View aparece una tarjeta labex-backups sin objetos. Las flechas muestran cómo se conecta la CLI al almacenamiento; el nodo del bucket refleja una consulta real del recurso.
Sube e inspecciona el informe
En este paso, almacenarás un informe como objeto de S3 y leerás su contenido realmente almacenado mediante la vista previa.
El archivo local y su copia almacenada son independientes; la subida y la descarga los conectan.

Inspecciona el archivo local preparado. cat muestra el contenido de un archivo de texto:
cat report.txt
Salida esperada:
Daily sales: 120 orders
cp significa copiar. La primera ruta siguiente es el origen local y la segunda es el destino. La parte después del nombre del bucket, report.txt, es la clave del objeto.
aws s3 cp report.txt s3://labex-backups/report.txt
La salida informa de una subida desde report.txt a s3://labex-backups/report.txt.
Enumera los objetos del bucket:
aws s3 ls s3://labex-backups/
La línea de report.txt muestra su hora de modificación, tamaño y clave. Una subida crea una copia almacenada independiente: editar solo el archivo local no la cambiaría.
En AWS View, la tarjeta del bucket muestra 1 objeto. Haz clic en report.txt en la tarjeta para desplegar su contenido. La vista previa debería mostrar Daily sales: 120 orders. Esto lee el objeto almacenado, no el archivo local de origen.
El ejemplo siguiente muestra el informe subido desplegado en la tarjeta de su bucket. El contenido se lee del almacenamiento.

Actualiza y recupera la copia almacenada
En este paso, reemplazarás el informe, descargarás la versión almacenada actual y demostrarás que el contenido se ha conservado durante la transferencia de ida y vuelta.
El informe actualizado contiene 145 pedidos. printf escribe texto; \n añade un salto de línea. El operador > del shell reemplaza el contenido del archivo local indicado.
printf 'Daily sales: 145 orders\n' > report.txt
Observa la vista previa del informe antes de volver a subirlo. Sigue mostrando 120 orders porque la copia almacenada no ha cambiado.
Sube a la misma clave para reemplazar su contenido actual:
aws s3 cp report.txt s3://labex-backups/report.txt
La vista previa ahora muestra 145 orders, mientras que el número de objetos sigue siendo 1. Reutilizar una clave actualiza ese objeto; no crea un segundo objeto con nombre en este laboratorio.
Descarga invirtiendo la dirección de cp: la ruta de S3 ahora es el origen y downloaded.txt es un nuevo destino local.
aws s3 cp s3://labex-backups/report.txt downloaded.txt
Inspecciona el archivo descargado:
cat downloaded.txt
Salida esperada:
Daily sales: 145 orders
cmp compara dos archivos byte a byte. No muestra nada y termina correctamente cuando son idénticos. && ejecuta el comando siguiente solo si esa comparación tiene éxito.
cmp report.txt downloaded.txt && echo 'Round trip verified'
Salida esperada:
Round trip verified
Esta comparación demuestra que el contenido recuperado coincide con tu origen actualizado. El verificador del paso lee S3 de forma independiente y compara los contenidos almacenado y descargado.
Limpia tu almacenamiento
En este paso, aprenderás por qué no se puede eliminar un bucket que no está vacío y después eliminarás los objetos y el bucket de este laboratorio.
rb significa eliminar un bucket. Primero intenta eliminarlo mientras el informe todavía existe:
aws s3 rb s3://labex-backups
Se espera que este comando falle con BucketNotEmpty. El fallo enseña una dependencia entre recursos: un bucket contiene objetos, así que elimina esos objetos antes de eliminar su contenedor. El bucket y el objeto deberían seguir visibles en la vista previa.
rm elimina un objeto en la ruta exacta de S3:
aws s3 rm s3://labex-backups/report.txt
La salida confirma delete: s3://labex-backups/report.txt. El objeto desaparece de la vista previa; el bucket permanece vacío.
Ahora elimina el bucket vacío:
aws s3 rb s3://labex-backups
Salida esperada:
remove_bucket: labex-backups
Confirma que el servicio sigue respondiendo y no enumera ningún bucket restante:
aws s3 ls
El comando termina sin filas de buckets. AWS View muestra No buckets sin tarjetas de recursos. Ese estado procede de una consulta correcta al servicio; una página desconectada no demostraría la limpieza. Tus archivos de informes locales siguen disponibles, mientras que los recursos de almacenamiento se han eliminado.
La vista de limpieza siguiente muestra que no quedan tarjetas de buckets después de una consulta correcta del estado.

Resumen
Utilizaste AWS CLI oficial para crear un bucket, subir y reemplazar un objeto, descargarlo, comparar el contenido de los archivos y eliminar los recursos de almacenamiento. AWS View relacionó tus comandos con cambios observables de los recursos y la vista previa mostró el contenido realmente almacenado.
Practicaste un flujo completo de almacenamiento de informes: organizar archivos en un bucket, distinguir las copias local y almacenada, verificar una descarga y eliminar los objetos antes de eliminar su bucket.



