【问题标题】:How does one specify custom configuration for AWS Lambda functions?如何为 AWS Lambda 函数指定自定义配置?
【发布时间】:2017-04-24 23:20:01
【问题描述】:

我为一家独立软件供应商工作。我们有一个应用程序,可以在部署应用程序的新变体时创建 AWS Lambda 函数。对于应用程序的每个实例,都会创建相同的功能,只是配置不同。

例如,我们的一个 lambda 函数进行一些处理,然后将结果插入到 SQS 队列中。我们已经使用 IAM 角色作为队列的凭证,但队列和区域的名称取决于客户以及 AWS Lambda 函数的部署位置。

AWS Lambda 函数是用 Java 编写的。

我们在哪里可以指定队列名称的配置? ...地区?

注意:我们希望不需要指定区域。我们的目的是动态确定函数在哪个区域运行并使用它。

【问题讨论】:

  • 您是否考虑过从 API Gateway 请求的 "Host" 标头解析区域?

标签: java amazon-web-services aws-lambda


【解决方案1】:

您可以将队列配置指定为环境变量,然后从 lambda 函数中读取它们。你可以在here找到更详细的解释。

您可以按照下面的代码从环境变量中读取当前区域。

System.getenv("AWS_DEFAULT_REGION");

但是,如果有任何敏感数据,您可能需要考虑 Keywhiz 或类似的用于分发和管理机密的系统。 Diogo Monica 于 2017 年 3 月写了一篇关于 Why you shouldn't use ENV variables for secret data 的有趣文章,您可能会觉得这篇文章很有用。

【讨论】:

    猜你喜欢
    • 2022-09-24
    • 2019-07-02
    • 2017-04-15
    • 1970-01-01
    • 2021-04-11
    • 2020-05-10
    • 1970-01-01
    • 2021-01-09
    • 2021-07-27
    相关资源
    最近更新 更多