Un breve análisis de AWS DynamoDB

AWS DynamoDB es una base de datos NOSQL.

Los permisos se pueden controlar directamente a través de IAM y es muy conveniente usarlo con otros servicios de AWS.

Varios conceptos de DynamoDB

Clave de partición: Clave de partición. Si no hay una clave de clasificación, la clave de partición debe ser única. Si hay una clave de clasificación, la clave de partición se puede repetir.

Clave de clasificación: Clave de clasificación.

Clave compuesta: el nombre colectivo de clave de partición y clave de clasificación es un concepto lógico.

GSI: un segundo mecanismo de indexación independiente de la clave de partición y la clave de clasificación. Se pueden crear múltiples GSI.

Consultar DyanmoDB con Boto3

Para utilizar GSI para consultar datos, debe especificar el nombre del índice:

Aquí se supone que la clave de partición se llama clave1, la clave de clasificación se llama sortkey y el GSI se llama gsi-index.

import boto3
from boto3.dynamodb.conditions import Attr, Key

def query_app(self, key1: str, sortkey: str):
        response = self.table.query(
            IndexName='gsi-index',
            KeyConditionExpression = Key("key1").eq(key1) & Key("sortkey").begins_with(sortkey),
            ScanIndexForward = False
        )
        code = response.get('ResponseMetadata').get('HTTPStatusCode')
        if code == 200:
            logging.info(f"query item successfully!")
            return response.get("Items")
        else:
            logging.warning(f"query item fail!, response is {code}")

La diferencia entre consulta y escaneo:

  1. La consulta utiliza la clave para consultar. (recomendar.)
  2. scan escanea toda la tabla y luego filtra. ,

Referencias:

Presentación de PowerPoint (sides-share.s3.cn-north-1.amazonaws.com.cn)

Supongo que te gusta

Origin blog.csdn.net/rav009/article/details/132663792
Recomendado
Clasificación