【问题标题】:Reuse of AWS.SNS service from Node.js AWS SDK从 Node.js AWS SDK 重用 AWS.SNS 服务
【发布时间】:2020-01-05 20:34:28
【问题描述】:

使用AWS-SDK 上的SNS client 时:

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

我应该在调用之间重用这个对象来保存与服务器的握手吗?

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

【问题讨论】:

  • 你在使用 Lambda 吗?
  • @hephalump 是的!
  • @Scaccoman 的答案是正确答案!他打败了我:)
  • 谢谢@hephalump!

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


【解决方案1】:

我相信你应该在你的 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 函数建立数据库连接,而不是 重新建立连接,原来的连接被用于 后续调用。我们建议在您的代码中添加逻辑以检查 如果在创建之前存在连接。

【讨论】:

猜你喜欢
  • 2022-12-18
  • 2014-07-10
  • 2011-07-07
  • 2013-05-13
  • 2017-08-16
  • 2015-05-10
  • 2013-06-08
  • 1970-01-01
  • 2013-08-05
相关资源
最近更新 更多