gpt4 book ai didi

node.js - 当我需要 aws-sdk 模块时 AWS Lambda 函数超时

转载 作者:搜寻专家 更新时间:2023-10-31 23:10:48 24 4
gpt4 key购买 nike

我正在尝试从 Lambda 函数查询 DynamoDB 表(用于 Alexa 技能),但是当我发送调用 require('aws-sdk') 的意图时,该技能似乎挂起并超时。 Alexa 测试页面只是说“所请求技能的响应有问题”,我在 CloudWatch 日志中没有看到任何错误。我设置了捕获任何错误并将其作为口头响应返回的技能,因此我确信这不是未捕获的异常。我也试过将 require 包装在 try/catch block 中,但这也没有用。

如果收到测试数据库意图请求,这是用 require 加载的模块:

const AWS = require('aws-sdk');

module.exports = () => {
return 'Success!';
};

如果我注释掉 require('aws-sdk'),该函数会正常工作并且 Alexa 会响应“成功”。

当我所做的只是需要 aws-sdk 模块时,为什么我的技能会失效?

我是 AWS 的新手,这是我第一次尝试在 Lambda 函数中访问 DynamoDB 表。

Lambda 函数以 zip 格式上传,其中包含我的源代码、package.json(包括 aws-sdk 作为依赖项)和 node_modules 文件夹。

最佳答案

经过几个小时的调试,我发现将 import * as AWS from 'aws-sdk'; 更改为 import {DynamoDB} from 'aws-sdk';(或 {CloudFront} 或您实际使用的任何内容)使超时问题消失。请注意,实际连接到 DynamoDB 的时间对我来说从来都不是问题,它总是发生超时的 import 行。

关于node.js - 当我需要 aws-sdk 模块时 AWS Lambda 函数超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49907830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com