6

问题

如何使用 Terraform 设置 API Gateway 阶段级执行日志记录?还不支持吗?

背景

API Gateway 阶段编辑器具有执行日志记录配置。但是,似乎没有参数可以在aws_api_gateway_stage中设置它们,尽管它具有访问日志记录配置参数。

想知道是否还有其他资源可以使用,或者只是那些参数尚未实现。

在此处输入图像描述

4

2 回答 2

13

你必须使用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 角色的东西...

于 2018-11-01T09:42:58.933 回答
1

您可以在整个“阶段”级别设置这些日志记录级别,也可以覆盖阶段级别并在方法级别定义它,如本例所示:(注意此处的“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"
}
}

在这里找到:

另请参阅此处:

于 2020-08-27T22:03:54.717 回答