我正在用AWS Lambda和API Gateway构建一个API,保持基础设施在平台上。我一直在使用地形资源aws_apigatewayv2_route
将API中的每条路由映射到API网关;如果我不这样做,我得到一个404错误。而不是必须映射每个路由到地形是否有一种方法映射所有路由默认,然后让实际的API代码处理404错误?这主要是为了在每次向API添加新端点时都不必更改地形。
这是一个路由示例:
resource "aws_apigatewayv2_route" "one_single_route" {
api_id = aws_apigatewayv2_api.my_api.id
route_key = "POST /one-single-route"
target = "integrations/${aws_apigatewayv2_integration.my_integration.id}"
}
我可以这样做吗?
resource "aws_apigatewayv2_route" "all_routes" {
api_id = aws_apigatewayv2_api.my_api.id
route_key = "ALL /*"
target = "integrations/${aws_apigatewayv2_integration.my_integration.id}"
}
在API Gateway中,您可以使用ANY方法定义贪婪路径,以将所有请求转发到您的集成lambda。
更新:
route_key = "ALL /*"
:
route_key = "ANY /{proxy+}"
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html