mut*_*ies 4 amazon-web-services aws-lambda aws-api-gateway
我试图在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
});
}
});
};
Run Code Online (Sandbox Code Playgroud)
这就是我在lambda函数上喜欢的内容,但是它给了我错误“ AWS.ApiGatewayManagementApi不是Response的构造函数”。在云端观看。
我错过了什么?像在lambda函数本身上包含aws-sdk一样?
编辑:更新以显示整个lambda函数
对于那些和我有同样问题的人
看起来lambda执行中可用的“ aws-sdk”版本为2.29。ApiGatewayManagementApi已在2.379中添加
这就是为什么它不能调用构造函数的原因。
为了解决这个问题,我创建了一个带有aws-sdk的图层,并将其添加到lambda函数中。
自2019 年 5 月 15 日起,您可以将 Lambda 作为节点版本 10.x运行,并且ApiGatewayManagementApi默认包含在 aws-sdk 中。
https://aws.amazon.com/about-aws/whats-new/2019/05/aws_lambda_adds_support_for_node_js_v10/
| 归档时间: |
|
| 查看次数: |
738 次 |
| 最近记录: |