amazon-web-services - 尝试使用无服务器框架发送模板化邮件时,AWS SDK SES Client V3“挂起”
问题描述
我正在使用 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 调用永远不会返回,并且支持 lambda 函数在 20 秒后超时。cloudwatch lambda 函数日志中没有出现错误。lambda 函数的最大超时为 30 秒,并且 SES Client V3 的超时不可配置,因此我不能在 lambda 本身超时之前“让它超时”...重要说明:在本地运行时(使用无服务器离线插件)使用AWS 的相同凭证,呼叫成功完成并发送邮件。另一个注意事项:同一个 lambda 也在使用 AWS SDK S3 客户端 V3 - 没有任何问题 - 所以我认为 SDK 设置不是这里的问题......有什么想法吗?
解决方案
推荐阅读
- spring - 应用程序中的 Spring 双 SessionManagement
- javascript - 对 Cloud Functions HTTP 的授权 Firebase 请求返回预检请求未通过控制检查(无 Access-Control-Allow-Origin)
- oauth-2.0 - 时间触发 Azure 函数 - 生成承载令牌以调用受保护的 API
- c# - 有出和无出的方法
- python - imshow() 函数未在 python 中提供预期的输出
- python-3.x - 以零误差获得整数除法和模数
- python - Python 的不同异常
- javascript - 在已加载的 sharepoint iframe 嵌入代码上自动搜索文本
- api-key - 公开您的 Applovin Sdk API 密钥是否安全?
- google-maps - 如何旋转谷歌地图标记?