使用在SNS client上找到的AWS-SDK时:
const sns = new AWS.SNS({});
是否应该在调用之间重用此对象以保存与服务器的握手?
这种对象通常是无状态的,并受益于池/缓存;但是,文档尚不清楚。
答案 0 :(得分:2)
我相信您应该在Lambda之外进行上课。 AWS将在可能的情况下重用实例。
例如
const AWS = require('aws-sdk')
const sns = new AWS.SNS()
module.exports.handler = async input => {
// use sns class here
return input
}
编辑:
指向解释lambda执行上下文如何工作的官方文档的链接:https://docs.aws.amazon.com/lambda/latest/dg/running-lambda-code.html
Lambda函数代码中的任何声明(在处理程序之外) 代码,请参阅编程模型)保持初始化状态,并提供其他 再次调用该函数时的优化。例如,如果您的 Lambda函数建立数据库连接,而不是 重新建立连接时,原始连接用于 后续调用。我们建议您在代码中添加逻辑以进行检查 创建连接之前是否存在连接。