如何通过Swagger(或模板)为AWS API GW启用日志记录和跟踪

时间:2020-03-03 13:06:21

标签: amazon-web-services yaml swagger aws-api-gateway sam

我有一个AWS SAM模板,并且引用了Swagger文件作为API配置。 我正在尝试为此API启用日志记录和跟踪。找不到具有此配置的资源。也不确定这些enabling logs and tracing是模板还是Swagger文件中的东西。

enter image description here

有帮助吗?

2 个答案:

答案 0 :(得分:3)

我相信api网关下的 MethodSettings 属性可以为您提供帮助

  Type: AWS::Serverless::Api
    Properties:
      EndpointConfiguration: REGIONAL
      MethodSettings:
      - LoggingLevel: ERROR # ERROR/INFO level logging 
        ResourcePath: '/*' # allows for logging on any resource
        HttpMethod: '*' # allows for logging on any method
        DataTraceEnabled: true # enabling Log full requests/responses data in console
        MetricsEnabled: true    # Enable detailed metrics (error 404, latence, ...)

答案 1 :(得分:0)

是的,没有选项可以通过Swagger启用日志。 Swagger只允许您定义REST API的结构-资源,集成,映射等。此外,Swagger可用于定义任何REST API。不只是Amazon API Gateway。因此,您可以选择启用特定于API网关的属性(即Stage)上的日志。

如果要通过CloudFormation或其他自动化方式创建API,则需要为API创建一个部署。一旦将此部署关联到API Gateway阶段,就可以配置用于登录的设置。例如,对于CloudFormation,您将使用AWS::ApiGateway::Deployment StageDescription。查看此link以获得详细信息。

相关问题