尝试使用无服务器框架发送模板邮件时的 AWS SDK SES Client V3 "hangs"

AWS SDK SES Client V3 "hangs" when trying to send templated mail using serverless framework

我正在使用 SES AWS Client V3 和无服务器框架实现自动电子邮件发送。 无服务器配置 yaml 包含所需的权限:

iamRoleStatements:
- Effect: "Allow"
  Action:
    - "ses:*"
  Resource:
    - "*"

代码本身很简单:

const command = new SendTemplatedEmailCommand({
            Source: EmailService.SOURCE_ADDRESS,
            Template: templateName,
            Destination: {
                ToAddresses: emails
            },
            TemplateData: JSON.stringify(templateParams || {})
        })
        console.log(`Calling SES API Command...`);
        const response = await this._ses.send(command);

await 调用从未 returns 并且支持 lambda 函数在 20 秒后超时。 cloudwatch lambda 函数日志中没有出现错误。 lambda 函数的最大超时是 30 秒,SES Client V3 的超时是不可配置的,所以我不能在 lambda 本身超时之前“让它超时”...... 重要说明:当 运行 在本地(使用无服务器离线插件)使用相同的 AWS 凭据时,调用成功完成并发送邮件。 另一个注意事项:同一个 lambda 也在使用 AWS SDK S3 客户端 V3 - 没有任何问题 - 所以我认为 SDK 设置不是这里的问题...... 有什么想法吗?

尝试增加 Lambda 函数超时(在 general configuration). The default timeout is 30 seconds, but it is configurable up to 15 minutes.

中可用

超时的原因是 lambda 函数在 VPC 内,因此无法到达 public SES API。 菜鸟犯的错误...