我正在尝试在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"
}
您必须使用layers参数将lambda图层指定为terraform中的ARN :
layer-(可选)要附加到Lambda函数的Lambda层版本ARN列表(最多5个)。
在terraform中使用以下语法:
层数= [“ layer-arn”]
例如,对于ARN AWSLambda-Python27-SciPy1x在us-east-1
区域是:
arn:aws:lambda:us-east-1:668099181075:layer:AWSLambda-Python27-SciPy1x:24
如果您不确定什么是ARN,可以创建一个虚拟的Python 2.7 lambda函数,添加AWSAWSLambda-Python27-SciPy1x
层,控制台将为您提供其ARN。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句