Codigo del reto para traer tablas, por si alguien anda perdido.
client = boto3.client('dynamodb')
response_tables = client.list_tables(
Limit=100
)
print(response_tables)```
Introduccion a bases de datos con AWS
Bienvenida a DynamoDB
¿Qué es una base de datos?
Amazon DynamoDB
El núcleo de DynamoDB
Crear una tabla en DynamoDB: primary keys
Hot partitions
Usuarios y permisos IAM en DynamoDB
Instalación de SDK y AWS CLI
Crear tablas y cargar datos en DynamoDB
Consultar y eliminar tablas en DynamoDB
Índices locales
Consultas con índices locales
Índices globales
Unidades de lectura y escritura
Integrando DynamoDB en AWS
SDK y DynamoDB
Creación de AWS Lambda
DynamoDB Streams
Integrar API Gateway con DynamoDB
Casos de uso de DynamoDB
Exportación de datos a S3
Soporte a DynamoDB
Monitoreo de DynamoDB con CloudWatch
Mantenimiento
Escalabilidad
Cierre
Conclusión
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Vianel Rodríguez
Aportes 11
Preguntas 0
Codigo del reto para traer tablas, por si alguien anda perdido.
client = boto3.client('dynamodb')
response_tables = client.list_tables(
Limit=100
)
print(response_tables)```
Boto3 es una biblioteca de Python que proporciona una interfaz para interactuar con los servicios de Amazon Web Services (AWS). En particular, Boto3 tiene módulos específicos para interactuar con diferentes servicios de AWS, como DynamoDB.
La principal diferencia entre boto3.client(‘dynamodb’) y boto3.resource(‘dynamodb’) es el nivel de abstracción y la complejidad de la API que se utiliza para interactuar con DynamoDB.
boto3.client(‘dynamodb’) proporciona una API de nivel bajo para interactuar con DynamoDB. Esta API se basa en llamadas directas a los métodos del servicio de DynamoDB y devuelve las respuestas en formato JSON. Con esta API, se tiene un control más granular sobre las solicitudes realizadas a DynamoDB, lo que permite ajustar mejor el rendimiento y reducir los costos de la operación.
Por otro lado, boto3.resource(‘dynamodb’) proporciona una API de nivel alto para interactuar con DynamoDB. Esta API se basa en objetos de Python que representan las tablas de DynamoDB, lo que facilita la realización de operaciones comunes como poner, obtener o eliminar elementos. Con esta API, se ocultan detalles técnicos como la serialización de datos o la creación de solicitudes HTTP, lo que hace que sea más fácil de usar para desarrolladores que no están familiarizados con los detalles de DynamoDB.
solución al reto:
en este metodo se obtiene una lista con los nombre de las tablas en dynamoDB:
def list_tables(self):
tables = []
for table in self.db.tables.all():
# print(table.name)
tables.append(table.name)
return tables
más ejemplos de codigo en: galeria de codigo boto3 python
Asi quedo mi codigo para mostrar las tablas que tengo disponibles:
import boto3
def list_dynamodb_tables():
# Creando un cliente para DynamoDb
dynamodb = boto3.client('dynamodb')
# Llamando al metodo list_tables para obtener todas las tablas
response = dynamodb.list_tables()
# Imprimiendo las tablas:
# Extracting the 'TableNames' key from the response dictionary
# 'TableNames' is a predefined key in the response that contains a list of table names
tables = response['TableNames']
print('Tablas existentes en mi cuenta de AWS:')
for table in tables:
print(table)
if __name__ == "__main__":
list_dynamodb_tables()
Documentación para hacerlo con Node.js:
Para traer todos los elementos:
table.scan()
El SDK permite el uso de varios lenguajes de programación, en esta caso se va usar python y la librería boto3
ejemplo de creación y consulta de items usando POO con un clase que tiene dos métodos llamados en el modulo principal:
import boto3
from boto3.dynamodb.conditions import Key, Attr
class ManagePersonajes:
def __init__(self) -> None:
self.db = boto3.resource('dynamodb')
self.table = self.db.Table('Personajes')
def get_item_by_id(self, id):
response = self.table.query(KeyConditionExpression=Key('Id').eq(id))
return response
def create_item(self):
self.table.put_item(
Item = {
'Id': 123,
'Gender': 'F',
'Status': 'Alive'
}
)
if __name__ == '__main__':
p = ManagePersonajes()
p.create_item()
print(p.get_item_by_id(123))
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?