AWS para DevelopersServicios Core de AWSLección 2 de 12
S3: almacenamiento infinito
import boto3
# Conectar a S3
s3 = boto3.client("s3")
# Crear bucket
s3.create_bucket(Bucket="mi-app-uploads")
# Subir archivo
s3.upload_file("foto.jpg", "mi-app-uploads", "users/123/avatar.jpg")
# Generar URL temporal (expira en 1 hora)
url = s3.generate_presigned_url(
"get_object",
Params={"Bucket": "mi-app-uploads", "Key": "users/123/avatar.jpg"},
ExpiresIn=3600
)
print(f"URL: {url}")
# Listar archivos
response = s3.list_objects_v2(Bucket="mi-app-uploads", Prefix="users/")
for obj in response.get("Contents", []):
print(f"{obj['Key']} - {obj['Size']} bytes")
Usos comunes de S3: • Imagenes de perfil de usuarios • Archivos subidos (PDFs, documentos) • Backups de base de datos • Hosting de sitios estaticos • Data lake para analytics • Assets de la app (iconos, fuentes)
Precio: $0.023/GB/mes. 5GB gratis con Free Tier.
Practica esta lección
Resuelve los ejercicios del curso de AWS para Developers en la app, gratis y con corrección automática.
Empezar a practicar