0

使用控制台,我能够配置 API 网关方法以将带有路径参数的 HTTP 请求传递到另一个 URI。

结果如下所示 在此处输入图像描述

这将使我的请求https://example.com使用相同的(贪婪)路径参数转发到。

尽管这已经足够成功,但我需要能够在 cloudformation 模板中将其指定为 AWS::Serverless::Api 资源。据我所知,无服务器应用程序模型的文档没有提及如何实现这一点。

它可以在无服务器资源上完成,还是我需要使用传统的 AWS::ApiGateway::Resource/Method's?

4

1 回答 1

0

我发现最简单的方法是使用 swagger 定义DefinitionBody,这里有一个例子,所以你可以得到一个想法。回购

重要提示:如果您在 Lambda 上使用代理集成,则无论您的方法、或=>中的httpMethod方法x-amazon-apigateway-integration都应该是POSTGETPUTPOSTDELETEhttpMethod: POST

DefinitionBody: 
    swagger: 2.0
    info:
      title: EventSource API Definition
    paths:
      /events/{id}:
        get:
          summary: Get an event details
          description: Retrieve specific event
          parameters:
          - name: id
            in: path
            required: true
            type: string
          consumes:
            - application/json
          produces:
            - application/json
          x-amazon-apigateway-integration:
            uri:                  
              Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${GetEventsFunction.Arn}/invocations
            responses: {}
            httpMethod: POST
            type: aws_proxy
于 2019-07-01T09:42:55.103 回答