2

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

在此处输入图像描述

有什么帮助吗?

4

2 回答 2

4

我相信 api gateway 下的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, ...)

于 2020-07-15T10:33:40.930 回答
0

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

如果您通过 CloudFormation 或其他自动化方式创建 API,则需要为您的 API 创建部署。将此部署关联到 API Gateway 阶段后,您可以配置登录设置。例如,对于 CloudFormation,您将使用AWS::ApiGateway::Deployment StageDescription. 查看此链接了解详情。

于 2020-03-04T00:00:54.800 回答