我为一家独立软件供应商工作。我们有一个应用程序,只要部署了我们的应用程序的新变体,就会创建AWS Lambda函数。对于应用程序的每个实例,只需使用不同的配置即可创建相同的功能。
例如,我们的一个lambda函数会进行一些处理,然后将结果插入到SQS队列中。我们已将IAM角色用于队列的凭据,但队列和区域的名称基于客户以及部署AWS Lambda函数的位置。
AWS Lambda函数是用Java编写的。
我们在哪里可以指定队列名称的配置? ......地区?
注意:我们希望我们不需要指定区域。我们的目的是动态确定函数运行的区域并使用它。
答案 0 :(得分:1)
您可以将队列配置指定为环境变量,然后从lambda函数中读取它们。您可以在here中找到更详细的说明。
您可以根据以下代码从环境变量中读取当前区域。
System.getenv("AWS_DEFAULT_REGION");
但是,如果有任何敏感数据,您可能需要考虑Keywhiz或类似的系统来分发和管理机密。 Diogo Monica在2017年3月写了一篇关于Why you shouldn't use ENV variables for secret data的有趣文章,你可能会发现它很有用。