API 网关配置 http 与输入直通无服务器集成 1.x

API Gateway configure http integration with input passthrough serverless 1.x

有没有办法将所有参数 headers 和 body 映射到另一个 http 端点?需要特殊模板吗?

这是我目前得到的:

functions:
  myfunction:
    handler: lambda.myfunction # dummy hanlder
    events:    
      - http:
          path: resource/{resourceId}/other
          method: get
          integration: HTTP
          request:
            uri: http://url/resource/{resourceId}/other
            parameters:
              'method.request.path.resourceId': true
              'method.request.header.my-header': true
          response:
            statusCodes:
              200:
                pattern: ''

每当我直接在控制台中创建时,默认情况下都会启用 passthrough 选项,并且它会正确映射 resourceId

我试图查看文档,但似乎几乎没有关于 http 集成的文档,除非我遗漏了什么。

我找到了一个解决方法来让这个工作,似乎比正确的解决方案更像是一个解决方法。

我必须在 serverless.yml 的资源中设置 Integration.RequestParameters 才能实现此目的。

resources:
  Resources:
   ApiGatewayMethodV1ResourceResourceidVarOtherGet:
    Properties:
      RequestParameters:
        method.request.path.resourceId: true
        method.request.header.my-header: true
      Integration:
        RequestParameters:
          integration.request.path.resourceId: method.request.path.resourceId
          integration.request.header.my-header: method.request.header.my-header

Is there a way to map all parameters,headers and body to the other http endpoint? does it require a special template?

是,使用 HTTP_PROXY 集成类型。在控制台中,这是集成请求页面中的一个复选框。