Question
要从 API GW 调用 Lambda,调用_arn https://www.terraform.io/docs/providers/aws/d/lambda_function.html#invoke_arn可用于 aws_lambda_function 资源。
invoke_arn - 用于从 API Gateway 调用 Lambda 函数的 ARN。
resource "aws_api_gateway_integration" "videos" {
rest_api_id = "${aws_api_gateway_rest_api.24_hour_video.id}"
resource_id = "${aws_api_gateway_method.videos_get.resource_id}"
http_method = "${aws_api_gateway_method.videos_get.http_method}"
integration_http_method = "GET"
type = "AWS_PROXY" # Lambda Proxy
uri = "${aws_lambda_function.list_videos.invoke_arn}"
}
需要设置什么内容uri通过别名调用相同的 lambda?
resource "aws_lambda_alias" "lambda_alias_list_videos" {
name = "get_video_list"
description = "Alias to lambda_list_videos"
function_name = "${aws_lambda_function.list_videos.arn}"
function_version = "$LATEST"
}
The aws_lambda_alias
资源创建一个指向 Lambda 函数的特定版本的别名。别名本身是不可调用的。
相反,你应该创建一个aws_lambda_function
指向别名版本的数据源,并使用其invoke_arn
财产。您可以使用qualifier
论证中的一个aws_lambda_function
指定版本或别名(请参阅AWS Lambda 调用文档 https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax了解更多信息)。
您的示例显示您已经创建了一个名为获取视频列表,它指向$LATEST版本。您需要创建一个指向此别名的新数据源:
data "aws_lambda_function" "my_function_get_video_list" {
function_name = "your-function-name"
qualifier = "get_video_list"
}
您现在可以获得别名函数的调用 ARN:
${aws_lambda_function.my_function.get_video_list.invoke_arn}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)