【问题标题】:how to enable api gateway logs via cloud formation template (serverless.yml)?如何通过云形成模板(serverless.yml)启用api网关日志?
【发布时间】:2018-03-04 10:06:12
【问题描述】:

我想为我的 api 网关启用 api 网关日志,这是我的 lambda 函数的环绕。

service: myservice

provider:
  name: aws
  runtime: python3.6
  stage: ${opt:stage}
  region: ${self:custom.AwsRegion}
  timeout: 130
  memorySize: 128


functions:
  create_user:
    handler: functions/create_user.lambda_handler

    events:
      - http:
          path: /create_user
          method: post
          authorizer: aws_iam
          private: true

当我部署它时,我确实在云手表中看到了 lambda 日志。但是 API 网关日志没有在 cloudwatch 中重新编码。任何人都可以告诉我云形成语法以启用我的 api 网关方式的日志吗?

我尝试添加以下代码,但看起来它正在尝试创建新的 api 端点。

资源: 资源:

ApiGatewayStage:
  Type: AWS::ApiGateway::Stage
  Properties:
    RestApiId:
        Ref: ApiGatewayRestApi
    StageName: ${opt:stage}
    MethodSettings:
      - DataTraceEnabled: true
        HttpMethod: "*"
        LoggingLevel: INFO
        ResourcePath: "/*"
        MetricsEnabled: true

【问题讨论】:

  • 我希望有人有解决方案,或者至少有一些现成的自定义资源,因为与此同时我被困在手动操作中。
  • ya.. 它还会覆盖每次部署的手动设置。

标签: lambda aws-lambda aws-api-gateway amazon-cloudformation serverless-framework


【解决方案1】:

您可以通过外部插件来实现,这里详细讨论了解决方案。

https://github.com/serverless/serverless/issues/1918

【讨论】:

    【解决方案2】:

    现在由 Serverless 框架支持,不需要插件。你需要在serverless.yml文件中添加如下配置:

    provider:
      name: aws
    
      logs:
        restApi: true
    

    请注意,在版本 1.42.0 中是 added

    【讨论】:

    • 看起来该功能已根据引用的合并请求回滚,因为它有缺陷。
    猜你喜欢
    • 2020-09-17
    • 2017-08-08
    • 2020-06-15
    • 2020-10-13
    • 2020-09-06
    • 1970-01-01
    • 2017-10-10
    • 2017-12-02
    • 2020-04-14
    相关资源
    最近更新 更多