У меня есть определение таблицы DynamoDB, подобное этому:
{
"pk": {
"S": "00000000-0000-0000-0000-000000000001"
},
"sk": {
"S": "00000000-0000-0000-0000-000000000001"
},
"year": {
"N": "2019"
}
"index": {
"N": "987654321"
}
}
Где "pk" - это ключ раздела. И "sk" - это ключ сортировки. Если вам интересно, почему оба, pk и sk, имеют одинаковое значение: Шаблон проектирования списка смежности .
Я создал глобальный вторичный индекс для атрибута «index». Какие его проекции являются ключами, pk и sk.
Теперь , следуя документации Я запрашиваю свой GSI следующим образом:
const params = {
TableName: 'my_table_name',
IndexName: 'my_index_name',
KeyConditionExpression: "index = :v_index",
ExpressionAttributeValues: {
":v_index": {"N": 987654321}
},
ProjectionExpression: "pk",
ScanIndexForward: false
};
Я получаю следующее сообщение об ошибке: 'MissingRequiredParameter: отсутствует требуемый ключ \' Key \ 'в параметрах \ n
На всякий случай я использую Node.js 8.10в лямбде