如何在Terraform中使用AWS提供的lambda层?

问题描述 投票:0回答:1

我正在尝试在AWS Lambda层上运行python函数,但我在terraform上找不到任何文档来使用AWS提供的lambda层。如何使用AWS提供的Lambda层AWSLambda-Python27-SciPy1x和运行时Python 2.7

#----compute/lambda.tf----
data "archive_file" "lambda_zip" {
    type          = "zip"
    source_file   = "index.py"
    output_path   = "check_foo.zip"
}

resource "aws_lambda_function" "check_foo" {
  filename         = "check_foo.zip"
  function_name    = "checkFoo"
  role             = "${aws_iam_role.iam_for_lambda_tf.arn}"
  handler          = "index.handler"
  source_code_hash = "${data.archive_file.lambda_zip.output_base64sha256}"

  # i want to use lambda layer - AWSLambda-Python27-SciPy1x and run this function on it
  runtime          = "python2.7"
}
amazon-web-services aws-lambda terraform terraform-provider-aws
1个回答
0
投票

您必须使用layers参数将lambda图层指定为Terraform中的ARN:

layers-(可选)Lambda图层版本ARNs列表(最多5个),以附加到Lambda函数。

例如,us-east-1区域中AWSLambda-Python27-SciPy1x的ARN为:

arn:aws:lambda:us-east-1:668099181075:layer:AWSLambda-Python27-SciPy1x:24

如果不确定您的ARN是什么,则可以创建一个虚拟的Python 2.7 lambda函数,添加AWS层AWSLambda-Python27-SciPy1x层,控制台将为您提供其ARN。

© www.soinside.com 2019 - 2024. All rights reserved.