克隆不同的环境。暂存/ QA / PROD / DEV等。
有没有一种简便的方法可以克隆我的lambda,给它起一个不同的名字并从那里调整配置?
答案 0 :(得分:0)
这是terraform代码(“基础结构即代码”)的示例,可用于在不同环境dev / prod中标记出相同的lambda。
如果您看一下这段代码function_name = "${var.environment}-first_lambda"
,就可以清楚地知道函数的名称如何以dev / prod等环境为前缀。
此变量可以在terraform命令执行时传递,例如TF_VAR_environment="dev" terraform apply
,也可以在variables.tf中默认设置,也可以使用* .tfvars
#main.tf
resource "aws_lambda_function" "first_lambda" {
function_name = "${var.environment}-first_lambda"
filename = "${data.archive_file.first_zip.output_path}"
source_code_hash = "${data.archive_file.first_zip.output_base64sha256}"
role = "${aws_iam_role.iam_for_lambda.arn}"
handler = "first_lambda.lambda_handler"
runtime = "python3.6"
timeout = 15
environment {
variables = {
value_one = "some value_one"
}
}
}
# variables.tf
variable "environment" {
type = "string"
description = "The name of the environment within the project"
default = "dev"
}
答案 1 :(得分:0)
您将需要在新帐户中重新创建Lambda函数。转到lambda函数,单击“操作”并导出函数。
下载部署程序包(您的代码和库)和/或AWS 定义功能的无服务器应用程序模型(SAM)文件, 它的事件来源和权限。
您或共享此文件的其他人可以使用AWS CloudFormation 部署和管理类似的无服务器应用程序。学到更多 关于如何使用AWS CloudFormation部署无服务器应用程序。