如何通过云形成模板(serverless.yml)启用api网关日志?

时间:2017-09-22 18:41:28

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

我想为我的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

2 个答案:

答案 0 :(得分:1)

您可以通过外部插件完成此操作,此处将详细讨论解决方案。

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

答案 1 :(得分:0)

Serverless框架现在支持它,并且不需要插件。您需要将以下配置添加到它们的serverless.yml文件中:

provider:
  name: aws

  logs:
    restApi: true

请注意,它是1.42.0版的added