Конфигурирование AWS :: Serverless :: Api ресурсов для интеграции HTTP_PROXY - PullRequest
0 голосов
/ 01 июля 2019

Используя консоль, я смог настроить метод API-шлюза для передачи HTTP-запросов с параметром пути на другой URI.

Результат выглядит следующим образом enter image description here

Это сделало бы так, чтобы мой запрос был перенаправлен на https://example.com с тем же (жадным) параметром пути.

Хотя это было достаточно успешно, мне нужно иметь возможностьукажите это как ресурс AWS :: Serverless :: Api в шаблоне облачной информации.Насколько я могу судить, документация для модели безсерверного приложения не содержит каких-либо упоминаний о том, как этого добиться.

Можно ли это сделать на бессерверном ресурсе или янужно работать с традиционными AWS :: ApiGateway :: Resource / Method's?

1 Ответ

0 голосов
/ 01 июля 2019

Самый простой способ, который я нашел, это создать определение чванства с использованием DefinitionBody, вот пример, чтобы вы могли получить представление. Repo

ВАЖНО : если вы используете интеграцию прокси в Lambda, httpMethod метод в x-amazon-apigateway-integration должен быть POST независимо от вашего метода GET, PUT, POST или DELETE => httpMethod: 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
...