Краткий анализ AWS DynamoDB

AWS DynamoDB — это база данных NOSQL.

Разрешениями можно управлять напрямую через IAM, и его очень удобно использовать с другими сервисами AWS.

Несколько концепций DynamoDB

Ключ раздела: Ключ раздела. Если ключ сортировки отсутствует, ключ раздела должен быть уникальным. Если ключ сортировки имеется, ключ раздела можно повторить.

Ключ сортировки: ключ сортировки.

Составной ключ: собирательное имя ключа раздела и ключа сортировки представляет собой логическую концепцию.

GSI: второй механизм индексации, независимый от ключа раздела и ключа сортировки. Можно создать несколько GSI.

Запросить DyanmoDB с помощью Boto3

Чтобы использовать GSI для запроса данных, вам необходимо указать имя индекса:

Здесь предполагается, что ключ раздела называется key1, ключ сортировки называется sortkey, а GSI называется 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}")

Разница между запросом и сканированием:

  1. Запрос использует ключ для запроса. (рекомендовать.)
  2. scan сканирует всю таблицу, а затем фильтрует. ,

Использованная литература:

Презентация PowerPoint (sides-share.s3.cn-north-1.amazonaws.com.cn)

おすすめ

転載: blog.csdn.net/rav009/article/details/132663792