Crear tablas y cargar datos en Amazon DynamoDB con Python y Boto3 es un proceso sencillo. A continuación te muestro los pasos completos:
✅ 1. Requisitos Previos
Instala las dependencias necesarias (si no lo has hecho):
pip install boto3 awscli
Configura tus credenciales de AWS:
aws configure
✅ 2. Crear una Tabla en DynamoDB
import boto3
# Crear cliente
dynamodb = boto3.client('dynamodb', region_name='us-east-1') # Cambia la región si es necesario
# Crear tabla
response = dynamodb.create_table(
TableName='Usuarios',
KeySchema=[
{
'AttributeName': 'usuario_id',
'KeyType': 'HASH' # Clave primaria
}
],
AttributeDefinitions=[
{
'AttributeName': 'usuario_id',
'AttributeType': 'S' # Tipo S = String
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
print("Tabla creada. Estado:", response['TableDescription']['TableStatus'])
✅ 3. Cargar Datos en DynamoDB
import boto3
dynamodb = boto3.resource('dynamodb')
tabla = dynamodb.Table('Usuarios')
# Insertar ítems
usuarios = [
{"usuario_id": "1", "nombre": "Ana", "edad": 28},
{"usuario_id": "2", "nombre": "Luis", "edad": 34},
{"usuario_id": "3", "nombre": "Carlos", "edad": 22}
]
for usuario in usuarios:
tabla.put_item(Item=usuario)
print("Datos insertados correctamente.")
✅ 4. Verificar contenido (opcional)
response = tabla.scan()
for item in response['Items']:
print(item)
🧠 Notas importantes
- Puedes usar
boto3.client() o boto3.resource(). Este último es más orientado a objetos.
- Si estás usando DynamoDB local, avísame para darte el código con
endpoint_url.
- Puedes usar atributos compuestos (HASH + RANGE) si necesitas claves primarias compuestas.