如何通过 Terraform 在 API Gateway v2 API 上启用 CloudWatch 日志记录?

How can I enable CloudWatch logging on an API Gateway v2 API via Terraform?

我想在 aws_apigatewayv2_api 资源上启用执行日志记录。我只需单击下面的复选框即可。

既然我知道可以通过 AWS GUI 实现,terraform 的等价物是什么?

我已经在每个单独的集成 lambda 上启用了日志记录,但此复选框保持未选中状态。

此设置在舞台本身,即 aws_apigatewayv2_stage under the default_route_settings 参数。

要复制 UI:

  • 启用 CloudWatch Logs & 日志级别 - 这两个选项在 Terraform 中组合在 logging_level 下.默认情况下禁用日志记录,因为 logging_level 设置为 OFF。要启用日志记录,您只需将 logging_level 指定为 OFF 以外的任何其他受支持的值,这具有打开日志记录并同时设置级别的效果。

  • 记录完整消息数据 - 这是在 detailed_metrics_enabled.

    下的 Terraform 中

这导致以下配置:

resource "aws_apigatewayv2_stage" "example" {
  api_id = aws_apigatewayv2_api.example.id
  name   = "example-stage"
  default_route_settings {
    logging_level = "INFO"
    detailed_metrics_enabled = true
  }
}