【问题标题】:Do I need to specify the region when instantiating a AWS Helper Class in AWS Lambda?在 AWS Lambda 中实例化 AWS Helper 类时是否需要指定区域?
【发布时间】:2017-08-24 23:07:16
【问题描述】:

如果我想从 AWS Lambda 调用 AWS SES,我通常会在实例化 AWS Helper 类时编写以下内容:

var ses = new aws.SES({apiVersion: '2010-12-01', region: 'eu-west-1'});

我想知道,我真的需要指定 AWS 区域吗?还是 AWS SES 帮助程序类仅在运行 AWS Lambda 函数的区域中运行。

这里的最佳做法是什么?如果我省略这个,我以后可能会遇到问题吗?

【问题讨论】:

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


    【解决方案1】:

    为了明确起见,我总是指定区域。我去使用 SNS 将我的 NodeJS Lambda 函数之一更改为使用空构造函数而不是提供区域并部署它......它似乎仍然有效。看起来该服务将尝试在调用它的 lambda 函数的区域中运行。我想 Lambda 函数的 IAM 角色也将发挥作用。就最佳实践而言,我认为最好尽可能明确,假设它不会造成大量开销/麻烦。您将来可能遇到的问题是使用不在某些地区的资源。

    【讨论】:

    • 同意:显式几乎可以肯定是最好的,即使它是隐式工作的。有一个自动环境变量 process.env.AWS_REGION 包含 Lambda 函数实际运行的区域,因此您可以通过将此值作为 region: process.env.AWS_REGION 传递来“显式隐式”。
    • 这很有趣,我从来不知道那个预设的环境变量。是的,它肯定是明确隐含的哈哈。
    猜你喜欢
    • 2019-08-09
    • 2018-04-28
    • 2022-06-14
    • 2022-01-21
    • 2018-09-03
    • 2018-11-21
    • 2018-11-11
    • 2021-12-16
    • 2020-07-07
    相关资源
    最近更新 更多