【问题标题】:Reuse same instance of AWS.S3 in multiple requests to my node.js app在对我的 node.js 应用程序的多个请求中重用相同的 AWS.S3 实例
【发布时间】:2020-11-03 20:07:32
【问题描述】:

在每个请求中使用同一个 AWS.S3 实例是否安全?它是否处理诸如重新连接之类的事情?还是我需要在我的控制器操作中实例化 s3 客户端?

换句话说,我可以在控制器操作范围之外安全地实例化客户端吗:

const s3 = new AWS.S3(myAwsConfiguration);

async myControllerAction(ctx, next) {
  let s3Object = null;
  try {
    s3Object = await s3.getObject({
      'Bucket': bucket,
      'Key': key,
    }).promise();
  } catch(e) {
    ctx.throw(500, 'cannot fetch from s3');
  }
}

还是我必须在里面做:

async myControllerAction(ctx, next) {
  const s3 = new AWS.S3(myAwsConfiguration);

  let s3Object = null;
  try {
    s3Object = await s3.getObject({
      'Bucket': bucket,
      'Key': key,
    }).promise();
  } catch(e) {
    ctx.throw(500, 'cannot fetch from s3');
  }
}

【问题讨论】:

    标签: node.js amazon-s3 aws-sdk-js


    【解决方案1】:

    正如我在此期间了解到的:

    是的,重复使用同一个实例是完全安全的。 s3 协议是无状态的,没有任何可能丢失的维护连接。

    【讨论】:

    • 嗨@simon.ro,感谢您分享您的见解。您对文档有任何参考吗?其余的 SDK 客户端到其他服务呢?
    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2012-02-06
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多