Как использовать API-шлюз и шаблоны сопоставления с интеграцией SQS? - PullRequest
0 голосов
/ 20 октября 2018

У меня была настройка конечной точки шлюза API, которая через шаблон сопоставления получает тело запроса и некоторую мету запрашивающей стороны, объединяет их и отправляет эту полезную нагрузку в поток.Вот как это выглядело:

RequestTemplates:
    application/json: >
      #set($dataRecord = "{
          ""body"" : $input.json('$'),
          ""context"" : {
              ""client_ip"" : ""$context.identity.sourceIp"",
              ""user_agent"" : ""$context.identity.userAgent""
          }
      }")
      {
        "DeliveryStreamName": "event-firehose",
        "Record": { "Data": "$util.base64Encode($dataRecord)" }
      }

Теперь я хотел бы заменить поток очередью sqs.У меня проблема в том, что шаблон сопоставления больше не соблюдается.Мне нужно указать тело сообщения через параметр запроса MessageBody в интеграции, и я могу передать здесь method.request.body, но я не могу понять, как либо А) передать преобразованный запрос через шаблон отображения,или B) создать параметр запроса MessageBody так, чтобы он содержал как тело запроса, так и контекст.

Как используются шаблоны сопоставления при использовании SQS в методе интеграции?

Edit-

Михаил и Каннаян в комментариях предоставили рабочие ответы

...