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

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
20 Hrs
46 Min
20 Seg
Curso de Amazon DynamoDB

Curso de Amazon DynamoDB

Vianel Rodríguez

Vianel Rodríguez

SDK y DynamoDB

14/23
Recursos

Aportes 11

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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)```
```python ##imprimo lista con todas mis tabalas client = boto3.client('dynamodb') responseListTable = client.list_tables() print(responseListTable) ```
Si estás usando profiles para que tome el correcto debes hacer una modificación en la creación de la variable dynamodb: ```js session = boto3.Session(profile_name='TU-PERFIL') dynamodb = session.resource('dynamodb') ```

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()
```python ##imprimo lista con todas mis tabalas client = boto3.client('dynamodb') responseListTable = client.list_tables() print(responseListTable) ``` ##imprimo lista con todas mis tabalas    client = boto3.client('dynamodb')    responseListTable = client.list\_tables()     print(responseListTable)

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