我在node.js中編寫Lambda函數以從dynamodB中獲取項目。表是僱員,其中emo_Id是分區鍵。下面的代碼片段我寫:「在參數中缺少必需的鍵'鍵''在獲取Dynamo的操作dB
var table = "Employee_Test";
var emp_Id=event.emp_Id;
var emp_Name=event.emp_Name;
var params = {
TableName: table,
KeyConditionExpression: "#eId = :Id",
ExpressionAttributeNames:{
"#eId": "emp_Id"
},
ExpressionAttributeValues: {
":Id":emp_Id
}}
我得到的錯誤是: 「消息」:「缺少必要的關鍵‘鑰匙’在PARAMS」, 「代碼」:「MissingRequiredParameter」,
我知道錯誤的解決方法是將代碼添加到: 鍵:{emp_Id:emp_Id, }。但是,如果我必須查詢在特定日期之後加入的員工,那麼我不能提供emp_Id作爲參數。
在AWS發佈說明中,我發現我們可以禁用參數驗證, https://aws.amazon.com/releasenotes/6967335344676381我試過這個,但是這也不起作用。
有人可以幫忙嗎?
感謝 Shweta
您是否嘗試在全局級別(或)將服務級別的參數驗證設置爲false? –
你也可以在這裏發佈你的'aws.config'嗎? –
@DavidR嗨大衛,這是配置: var AWS = require('aws-sdk'); var dynamoDBConfiguration = { 「accessKeyId」:「」, \t「secretAccessKey」:「」, 「region」:「us-west-2」 }; AWS.config.update(dynamoDBConfiguration); var dynamodb = new AWS.DynamoDB({apiVersion:'2012-08-10'}); var dynamodb1 =新AWS.dynamodb({paramValidation:false}); –