我正在尝试在 lambda 中使用 aws-sdk 但我似乎无法弄清楚。
var AWS = require('aws-sdk');
AWS.config.update();
var DDB = new AWS.DynamoDB({ apiVersion: "2012-10-08" });
exports.handler = function (event, context, callback) {
var url_handler = event.requestContext.domainName + "/" + event.requestContext.stage;
var scanParams = {
TableName: "tbl-web-socket-connection",
ProjectionExpression: "id"
};
DDB.scan(scanParams, function (err, data) {
console.log(err, "Error");
if (err) {
callback(null, {
statusCode: 500,
body: JSON.stringify(err)
});
} else {
console.log(AWS, "AWSSS");
var apigwManagementApi = new AWS.ApiGatewayManagementApi({
apiVersion: "2018-11-29",
endpoint: event.requestContext.domainName + "/" + event.requestContext.stage
});
}
});
};
这是我在 lambda 函数上声明的内容,但它给出了错误“AWS.ApiGatewayManagementApi 不是 Response 的构造函数”。在云手表上。
我错过了什么?就像可能在 lambda 函数本身上包含 aws-sdk 一样?
编辑:更新以显示整个 lambda 函数
对于那些和我有同样问题的人
看起来 lambda 执行中可用的“aws-sdk”版本是 2.29 ApiGatewayManagementApi 是在 2.379 中添加的
这就是它无法调用构造函数的原因。
为了解决这个问题,我使用 aws-sdk 创建了一个层,并将这些层添加到 lambda 函数中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)