如何在 Terraform 中使用 AWS 提供的 lambda 层?
How to use an AWS provided lambda layer in Terraform?
我正在尝试 运行 在 AWS Lambda 层上使用 python 函数,但我没有找到任何有关使用 AWS 提供的 lambda 层的 Terraform 的文档。如何使用 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"
}
您必须使用 layers 参数将 lambda 层指定为 terraform 中的 ARN:
layers - (Optional) List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
在 terraform 中使用以下 syntax:
layers = ["layer-arn"]
例如,AWSLambda-Python27-SciPy1x 在 us-east-1
区域的 ARN 是:
arn:aws:lambda:us-east-1:668099181075:layer:AWSLambda-Python27-SciPy1x:24
如果您不确定您的 ARN 是什么,您可以创建一个虚拟的 Python 2.7 lambda 函数,添加 AWS 层 AWSLambda-Python27-SciPy1x
层,控制台将为您提供它的 ARN。
我正在尝试 运行 在 AWS Lambda 层上使用 python 函数,但我没有找到任何有关使用 AWS 提供的 lambda 层的 Terraform 的文档。如何使用 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"
}
您必须使用 layers 参数将 lambda 层指定为 terraform 中的 ARN:
layers - (Optional) List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
在 terraform 中使用以下 syntax:
layers = ["layer-arn"]
例如,AWSLambda-Python27-SciPy1x 在 us-east-1
区域的 ARN 是:
arn:aws:lambda:us-east-1:668099181075:layer:AWSLambda-Python27-SciPy1x:24
如果您不确定您的 ARN 是什么,您可以创建一个虚拟的 Python 2.7 lambda 函数,添加 AWS 层 AWSLambda-Python27-SciPy1x
层,控制台将为您提供它的 ARN。