重用Node.js AWS开发工具包中的AWS.SNS服务

时间:2019-09-02 22:18:34

标签: node.js amazon-web-services amazon-sns aws-sdk-js

使用在SNS client上找到的AWS-SDK时:

const sns = new AWS.SNS({});

是否应该在调用之间重用此对象以保存与服务器的握手?

这种对象通常是无状态的,并受益于池/缓存;但是,文档尚不清楚。

1 个答案:

答案 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函数建立数据库连接,而不是   重新建立连接时,原始连接用于   后续调用。我们建议您在代码中添加逻辑以进行检查   创建连接之前是否存在连接。