GSI на DynamoDB

#indexing #amazon-dynamodb #dynamodb-queries #database-indexes #amazon-dynamodb-index

Вопрос:

У меня есть таблица DynamoDB для обработки заказов со следующей структурой.

введите описание изображения здесь

У меня есть еще несколько свойств, и я хочу фильтровать заказы на основе статуса. На данный момент я использовал метод сканирования для получения заказов в зависимости от статуса. Но я хотел бы реализовать инструкцию запроса, чтобы добиться большей эффективности при выполнении запроса для этого. Как я могу реализовать инструкцию запроса для фильтрации заказов на основе свойства status ?

Спасибо

Ответ №1:

Вам нужен GSI со СТАТУСОМ ключа раздела…

Затем в запросе вы указываете ему использовать GSI.

 {
    "TableName": "YourTable",
    "IndexName": "StatusIndex",
    "KeyConditionExpression": "status = :v_status",
    "ExpressionAttributeValues": {
        ":v_status": {"S": "FILLED"}
    },
}