如何在无服务器中引用API网关端点?

问题描述

我正在使用serverless.yml作为基础。框架。我使用如下代码的API网关创建了一个lambda:

functions:
  create:
    handler: posts.create
    events:
      - http:
          path: posts/create
          method: post
          authorizer: xxx:xxx:Lambda-Name

它将为API网关生成一个端点。但是如何在yml文件中的其他位置引用此终结点?

解决方法

Ref: ApiGatewayRestApi-ApiGatewayRestApi是默认的Rest API逻辑ID。

How do I get/reference API gateway restAPI id in serverless.yml?

custom:
    webServiceEndpoint:
        Fn::Join:
          - ''
          - - 'https://'
            - Ref: ApiGatewayRestApi
            - '.execute-api.'
            - Ref: AWS::Region
            - '.amazonaws.com/'
            - ${self:provider.stage}