Одно или несколько значений параметров недопустимы: AttributeValue не может содержать пустую строку - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь прочитать Одиночная строка из AWS API Gateway на моей DynamoDB.

Структура БД выглядит следующим образом:

DB, пожалуйста, посмотрите

Хорошо, и я установил шаблоны отображения, как показано ниже:

Шаблоны сопоставления

Наконец-то мой лямбда-код:

console.log('function starts');

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-2'});

exports.handler = function(event, context, callback){
    console.log('processing event: %j', event);

    let scanningParameters = {
        TableName: 'users',
        Key: {
            "userid": event.userid
        },
        Limit: 1 //maximum result of 1 items
    };

    //In dynamoDB scan looks through your entire table and fetches all data
    docClient.get(scanningParameters, function(err,data){
        if(err){
            callback(err, null);
        }else{
            callback(null,data);
        }
    });
}

ВРЕМЯ ИСПЫТАНИЯ

Однако, используя CURL дляпроверить мой прогресс:

curl -X GET \
mysite\
    -H 'Content-Type: application/json' \
    -d '{
    “userid”: “some user id”
  }'

Но получим:

{"errorMessage": "Одно или несколько значений параметров недопустимы: AttributeValue может не содержать пустую строку",«errorType»: «ValidationException», «stackTrace»: [«Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:48:27)","Request.callListeners (/ var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)","Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10) ","Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)","Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22: 10) "," AcceptorStateMachine.runTo (/ var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)","/var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10","Request.(/Var/runtime/node_modules/aws-sdk/lib/request.js:38:9)","Request.(/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)","Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:115:18)"]}

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