我试图通过 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
您是否已经按照 AWS 文档中的描述,将 API Gateway RestApi 配置为将日志写入 CloudWatch 中?https:/docs.aws.amazon.comapigatewaylatestdeveloperguideset-up-logging.html。
请注意,您必须为 CloudWatch 日志设置权限。
请在 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