No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Amazon DynamoDB

Curso de Amazon DynamoDB

Vianel Rodr铆guez

Vianel Rodr铆guez

SDK y DynamoDB

14/23
Recursos

Aportes 8

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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)```

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))




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(鈥榙ynamodb鈥) y boto3.resource(鈥榙ynamodb鈥) es el nivel de abstracci贸n y la complejidad de la API que se utiliza para interactuar con DynamoDB.

boto3.client(鈥榙ynamodb鈥) 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(鈥榙ynamodb鈥) 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.