问题
如何使用 Terraform 设置 API Gateway 阶段级执行日志记录?还不支持吗?
背景
API Gateway 阶段编辑器具有执行日志记录配置。但是,似乎没有参数可以在aws_api_gateway_stage中设置它们,尽管它具有访问日志记录配置参数。
想知道是否还有其他资源可以使用,或者只是那些参数尚未实现。
如何使用 Terraform 设置 API Gateway 阶段级执行日志记录?还不支持吗?
API Gateway 阶段编辑器具有执行日志记录配置。但是,似乎没有参数可以在aws_api_gateway_stage中设置它们,尽管它具有访问日志记录配置参数。
想知道是否还有其他资源可以使用,或者只是那些参数尚未实现。
你必须使用aws_api_gateway_method_settings
...
resource "aws_api_gateway_method_settings" "YOUR_settings" {
rest_api_id = "${aws_api_gateway_rest_api.YOUR.id}"
stage_name = "${aws_api_gateway_stage.YOUR.stage_name}"
method_path = "*/*"
settings {
logging_level = "INFO"
data_trace_enabled = true
metrics_enabled = true
}
}
CloudWatch 日志组应如下所示
API-Gateway-Execution-Logs_{YOU_API_ID}/{YOU_STAGENAME}
...也许您必须设置所有 IAM 角色的东西...
您可以在整个“阶段”级别设置这些日志记录级别,也可以覆盖阶段级别并在方法级别定义它,如本例所示:(注意此处的“method_path”值)
resource "aws_api_gateway_method_settings" "s" {
rest_api_id = aws_api_gateway_rest_api.test.id
stage_name = aws_api_gateway_stage.test.stage_name
method_path =
"${aws_api_gateway_resource.test.path_part}/${aws_api_gateway_method.test.http_method}"
settings {
metrics_enabled = true
logging_level = "INFO"
}
}
在这里找到:
另请参阅此处: