簡體   English   中英

DynamoDB DAX錯誤:測試Lambda時出現ValidationException

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM