Не получаете URL подписки в списке заголовков, предоставленных SNS в AWS? - PullRequest
0 голосов
/ 15 октября 2018

Итак, я использую restifyJS для получения уведомлений SNS, и я создал тему на эту же тему и подписался на нее, используя соответствующий ARN.Я использовал конечную точку https, в которой при запросе подтверждения я получаю следующие заголовки при запросе подтверждения.

{ 
  connection: 'upgrade',
  'x-real-ip': '*****************My IP address *****************',
  'x-forwarded-for': '*************My IP address ************',
  host: 'localhost:3000',
  'content-length': '1530',
  'x-amz-sns-message-type': 'SubscriptionConfirmation',
  'x-amz-sns-message-id': '*************************************',
  'x-amz-sns-topic-arn': 'arn:aws:sns:ap-south - ************',
  'content-type': 'text/plain; charset=UTF-8',
  'user-agent': 'Amazon Simple Notification Service Agent',
  'accept-encoding': 'gzip,deflate' 
  }

Но я не получаю URL подписки.

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Как уже упоминалось, URL-адрес находится в теле запроса.Также обратите внимание, что тело является JSON, но для типа содержимого установлено значение text / plain, что может привести к тому, что некоторые анализаторы предоставят пустое тело запроса.Вы можете предоставить restify с помощью текстового / обычного форматера, который анализирует содержимое json для сообщений SNS, в соответствии с существованием заголовка 'x-amz-sns-message-type'.

0 голосов
/ 15 октября 2018

Это не в заголовках ... это в теле запроса ("JSON-документ").

На основе типа, указанного в поле заголовка x-amz-sns-message-type, ваш кодследует прочитать документ JSON, содержащийся в теле HTTP-запроса, и обработать сообщение.

https://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html

...