7

我正在尝试通过 cloudformation 模板为 AWS API Gateway 启用 cloudwatch 日志,但它没有启用。我已经尝试在阶段描述和方法设置中将日志记录级别设置为 INFO。知道我错过了什么吗?

当我通过 UI 手动启用日志记录时,它可以工作。当我尝试通过如下 cloudformation 模板启用时无法正常工作 -

注意:我只是使用普通的 cloudformation 模板,并且我已经在我的帐户中添加了有权访问 API Gateway 的角色 ARN 以记录 cloudwatch

TestDeployment:
  Type: AWS::ApiGateway::Deployment
  Properties:
    Description: API Deployment
    RestApiId: testApi
    StageName: 'dev'
    StageDescription:
      Description: Stage - DEV
      LoggingLevel: INFO
      MethodSettings:
        - ResourcePath: "/testresource"
          HttpMethod: "POST"
          LoggingLevel: INFO
4

2 回答 2

1

请在 StageDescription 中添加 MetricsEnabled 属性以在阶段级别启用 CloudWatch 日志。如果要在方法级别启用 CloudWatch 日志,请在 MethodSettigns 中添加 MetricsEnabled 属性。在以下示例中,我在两个地方都启用了日志。

TestDeployment:
  Type: AWS::ApiGateway::Deployment
  Properties:
    Description: API Deployment
    RestApiId: testApi
    StageName: 'dev'
    StageDescription:
      Description: Stage - DEV
      LoggingLevel: INFO
      MetricsEnabled: True
      MethodSettings:
        - ResourcePath: "/testresource"
          HttpMethod: "POST"
          LoggingLevel: INFO
          MetricsEnabled: True
于 2020-05-31T08:27:19.570 回答
0

您是否已按照 AWS 文档中的说明配置 API Gateway RestApi 以将日志写入 CloudWatch:https ://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html

请注意,您必须为 CloudWatch 日志记录设置权限。

于 2020-05-29T16:32:40.787 回答