如何通过Cloudformation模板为AWS API GW开启Cloudwatch日志记录功能

问题描述 投票:0回答:1

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

当我通过用户界面手动启用日志记录时,它可以工作。当我尝试通过 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
amazon-web-services amazon-cloudformation aws-api-gateway api-gateway amazon-api-gateway
1个回答
0
投票

您是否已经按照 AWS 文档中的描述,将 API Gateway RestApi 配置为将日志写入 CloudWatch 中?https:/docs.aws.amazon.comapigatewaylatestdeveloperguideset-up-logging.html。

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


0
投票

请在 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
© www.soinside.com 2019 - 2024. All rights reserved.