下面是一个使用Terraform配置AWS API Gateway集成的示例:
# 创建API Gateway
resource "aws_api_gateway_rest_api" "example" {
name = "example-api"
description = "Example API"
}
# 创建Lambda函数
resource "aws_lambda_function" "example" {
filename = "example.zip"
function_name = "example-function"
role = aws_iam_role.example.arn
handler = "index.handler"
source_code_hash = filebase64sha256("example.zip")
runtime = "nodejs12.x"
}
# 创建API Gateway资源
resource "aws_api_gateway_resource" "example" {
rest_api_id = aws_api_gateway_rest_api.example.id
parent_id = aws_api_gateway_rest_api.example.root_resource_id
path_part = "example"
}
# 创建API Gateway方法
resource "aws_api_gateway_method" "example" {
rest_api_id = aws_api_gateway_rest_api.example.id
resource_id = aws_api_gateway_resource.example.id
http_method = "POST"
authorization = "NONE"
}
# 创建API Gateway集成
resource "aws_api_gateway_integration" "example" {
rest_api_id = aws_api_gateway_rest_api.example.id
resource_id = aws_api_gateway_resource.example.id
http_method = aws_api_gateway_method.example.http_method
integration_http_method = "POST"
type = "AWS_PROXY"
uri = aws_lambda_function.example.invoke_arn
}
# 部署API Gateway
resource "aws_api_gateway_deployment" "example" {
rest_api_id = aws_api_gateway_rest_api.example.id
stage_name = "prod"
}
在这个示例中,我们首先创建了一个API Gateway资源、一个Lambda函数,并将Lambda函数与API Gateway集成。然后,我们创建了API Gateway方法、资源和集成,并最后部署了API Gateway。
这个示例使用了Terraform来配置AWS资源,并将API Gateway与Lambda函数集成。你可以根据自己的需求修改配置,例如更改API Gateway的名称或描述,更改Lambda函数的运行时等。
希望对你有帮助!
下一篇:AWS API 网关跨账户