Node.js поместите ошибки с «Необработанным исключением проверки отклонения:…»

#node.js #amazon-dynamodb #aws-sdk

Вопрос:

Я использую Node.js и пакет SDK AWS, чтобы поместить элемент в нашу таблицу DynamoDB. Я получаю ошибку ниже. Однако элемент создается в таблице даже с ошибкой. Ключ раздела — «POST_ID», без ключа сортировки. Для этой таблицы существует несколько индексов.

 Unhandled rejection ValidationException: Either the KeyConditions or KeyConditionExpression parameter must be specified in the request.
at Request.extractError (/app/node_modules/aws-sdk/lib/protocol/json.js:52:27)
at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/app/node_modules/aws-sdk/lib/request.js:688:14)
at Request.transition (/app/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/app/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /app/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:690:12)
at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/app/node_modules/aws-sdk/lib/request.js:688:14)
at Request.transition (/app/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/app/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /app/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:690:12)
at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
at callNextListener (/app/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
at IncomingMessage.onEnd (/app/node_modules/aws-sdk/lib/event_listeners.js:336:13)
at IncomingMessage.emit (events.js:387:35)
at IncomingMessage.emit (domain.js:470:12)

 

Код:

     var docClient = new AWS.DynamoDB.DocumentClient();
    return docClient.put(awsReq).promise();
 

awsReq:

     {
    "TableName": "STAGING_POSTS",
    "Item": {
        "POST_ID": "1629059409440_693b2d29",
        "USER_ID": "84d66ce36e35feba903f3f3bf0f69d26",
        "TITLE": "test 7",
        "PRICE": "1000.0",
        "CURRENCY": "usd",
        "COUNTDOWN_TIMER": "2021-08-20T20:29:30-04:00",
        "VIEW_COUNTS": 0,
        "TIME_POSTED": "2021-08-15T16:30:09-04:00",
        "TYPE": "SELL",
        "CURRENT_LATITUDE": 52.52000659999999,
        "CURRENT_LONGITUDE": 13.404954,
        "CURRENT_ADDRESS": "Berlin",
        "LIGHT_CONTENT": [false],
        "CATEGORY": "Restaurant",
        "POST_LANGUAGE": "en",
        "UPDATED_AT": "2021-08-15T16:30:09-04:00",
        "DELETED_AT": null,
        "CURRENT_GEOHASH_1": "u",
        "CURRENT_GEOHASH_2": "u3",
        "CURRENT_GEOHASH_3": "u33",
        "CURRENT_GEOHASH_4": "u33d",
        "CURRENT_GEOHASH_5": "u33dc",
        "CURRENT_GEOHASH_6": "u33dc0",
        "PHOTO_URL": ["https://s3.amazonaws.com/790aed2959b2.jpeg"]
    }