【问题标题】:How to use an AWS provided lambda layer in Terraform?如何在 Terraform 中使用 AWS 提供的 lambda 层?
【发布时间】:2020-09-07 15:55:48
【问题描述】:

我正在尝试在 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】:

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

    layers - (可选)附加到您的 Lambda 函数的 Lambda 层版本列表ARN(最多 5 个)。

    在 terraform 中使用以下 syntax

    layers = ["layer-arn"]

    例如,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。

    【讨论】:

      猜你喜欢
      • 2023-01-19
      • 2020-06-09
      • 2021-04-24
      • 1970-01-01
      • 2020-04-21
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多