[英]DynamoDB DAX errors: ValidationException while testing lambda
我正在嘗試以lambda的形式運行DAX示例getitem-test.js。( doc link )。我修改了從我創建的daxclient讀取的代碼。 但是daxClient.get從lambda返回錯誤
START RequestId:bb657a02-05b1-11e8-804d-a1d27ac0e9f7版本:$ LATEST 2018-01-30T11:36:03.363Z bb657a02-05b1-11e8-804d-a1d27ac0e9f7無法讀取項目。 錯誤JSON:{“時間”:1517312163361,“代碼”:“ ValidationException”,“可重試”:true,“ requestId”:“ AVI5QK8LN9S41B64JTTJVECLR3VV4KQNSO5AEMVJF66Q9ASUAAJG”,“狀態碼” false:“ 400”,“ _ BeInvalid”:假}
我使用dynamodbclient設置了dynamo數據庫表。 設置VPC,子網等。但是我沒有從DAX讀取數據的運氣。 不知道可能是什么問題。
以下是我使用的代碼:
var region = "eu-west-1";
AWS.config.update({
region: region
});
var daxClient = null;
var dax = new AmazonDaxClient({ endpoints: ["mydax.e02jim.clustercfg.dax.euw1.cache.amazonaws.com:8111"], region: region })
daxClient = new AWS.DynamoDB.DocumentClient({ service: dax });
var tableName = "TryDaxTable";
var params = {
TableName: tableName,
Key: {
"pk": 7,
"sk": 1
}
};
daxClient.get(params, function (err, data) {
if (err) {
console.error("Unable to read item. Error JSON:",
JSON.stringify(err, null, 2));
} else {
console.log("success");
}
});
我可以使用var ddbClient = new AWS.DynamoDB.DocumentClient()
而不是daxClient
獲得結果。
我的lambda函數也超時
發現這是一個權限問題。 我的群集的IAM角色無權訪問DynamoDB表。
關於lambda超時,我在谷歌搜索后最后添加了以下代碼
context.callbackWaitsForEmptyEventLoop = false
callback(null, "success");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.