环境变量是在部署 Lambda 函数代码之前还是之后设置的



我们有依赖于Lambda环境变量中设置的值的Lambda函数,我们正在使用Terraform部署这两个值。有时我们需要更改代码并添加它所需的新环境变量。用于更新 Lambda 函数代码和函数配置有不同的 AWS API 调用,因此我们假设这些是不同的操作。

有谁知道这两个动作的执行顺序?

如果首先设置环境变量,那么大概可以使用新的变量和旧代码启动新容器。如果情况相反,那么我们可能会有新代码失败,因为预期的 env var 不存在。

我相当确定 Lambda 函数版本控制是所有这些问题的答案,但我想知道在我们走这条路之前我是否不必要地担心。

在更新期间,配置在函数代码之前更新。

您可以通过查看aws_lambda_function资源的源代码并查看 resourceAwsLambdaFunctionUpdate 方法中相关 API 调用的顺序来自己看到这一点。

配置更新发生在第 763 行,而函数代码更新发生在第 818 行。

最新更新