Can you clone an AWS lambda?

一曲冷凌霜 提交于 2019-12-11 12:55:02

问题


Cloning for different environments. Staging/QA/PROD/DEV etc.

Is there a quick an easy way to clone my lambdas, give a different name, and adjust configurations from there?


回答1:


This is an example of terraform code(Infrastructure as Code) which can be used to stamp out same lambdas within different environment dev/prod. If you have a look at this bit of code function_name = "${var.environment}-first_lambda" it will be clear as to how the name of the function is prefixed with environments like dev/prod etc. This variable can be passed in at terraform command execution time eg TF_VAR_environment="dev" terraform apply or defaulted in the variables.tf or passed in using *.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"
}



回答2:


You will need to recreate your Lambda Functions in the new account. Go to lambda function click on Action and export your function .

Download a deployment package (your code and libraries), and/or an AWS Serverless Application Model (SAM) file that defines your function, its events sources, and permissions.

You or others who you share this file with can use AWS CloudFormation to deploy and manage a similar serverless application. Learn more about how to deploy a serverless application with AWS CloudFormation.



来源:https://stackoverflow.com/questions/55941530/can-you-clone-an-aws-lambda

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!