DynamoDB BatchGetItem: предоставленный ключ не совпадает? - PullRequest
0 голосов
/ 11 апреля 2019

Итак, я пытался получить список кода из таблицы DynamoDB, используя batchGetItem

Я пытался выполнить свою задачу, используя стандартный подход, который состоит в значительной степени с использованиемосновной код, предоставленный в документах AWS, выглядит следующим образом:

let AWS = require('aws-sdk');

AWS.config.update({
  "region": "us-west-2",
  "endpoint": "https://dynamodb.us-west-2.amazonaws.com",
  "accessKeyId": "my acess key here",
  "secretAccessKey": "my secret access key"
});

var dynamoClient = new AWS.DynamoDB.DocumentClient();    
var params = {
    "RequestItems": {
        "questions_and_answers": {
            "Keys": [
                {
                "codcategory": "10"
                }
            ]
        }
    }
}

var dynamoBatchGetPromise = dynamoClient.batchGetItem(params).promise();
dynamoBatchGetPromise.then(function (data) {
   console.log("data resp: " + JSON.stringify(data));
});

... и это то, что я получаю в качестве вывода:

"(узел: 3744) UnhandledPromiseRejectionWarning: ValidationException: Предоставленный ключевой элемент не соответствует схеме "

. Ну, поскольку" codcategory "является фактическим Первичным ключом раздела таблицы" questions_and_answers ", и я хочу получить все записи из этой таблицы, имеющиеcodcategory = 10, я должен спросить;

Что не так с моим кодом?

Любая помощь, я буду признателен.Заранее спасибо.

1 Ответ

0 голосов
/ 12 апреля 2019

Что ж, после того, как я немного покопался в документации, похоже, проблема заключалась в том, что мне пришлось предоставить и ключ раздела, и хеш-ключ в качестве параметров, например:

Keys: [                
{
codcategory: {N:"10"},
cod: {N:"2000"}
}
]

Ну, вот и все.Надеюсь, что это поможет кому-то еще нуждающемуся в какой-то момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...