Сообщение временной метки в SNS при прохождении через - PullRequest
0 голосов
/ 01 мая 2018

У меня есть сообщения журнала (с временными метками журнала), поступающие через logstash, которые получают временную метку при входе в logstash. После того, как сообщение покидает logstash, оно направляется на SNS. Мне нужно добавить третью временную метку, когда сообщение проходит через SNS, чтобы, когда я получаю сообщение, я мог сказать, где задержки, если таковые имеются. На пути к сообщению есть больше узлов, но сейчас я занимаюсь только SNS. Мой вопрос: «Как конкретно добавить метку времени к сообщению в SNS?».

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

SNS автоматически отмечает время сообщения со временем, когда сообщение было получено SNS («опубликовано» - не тогда, когда оно было доставлено SNS следующей службе в цепочке).

Timestamp

Время (GMT), когда уведомление было опубликовано.

https://docs.aws.amazon.com/sns/latest/dg/json-formats.html

Если вы отправляете сообщения в конечную точку HTTP или SQS, вам также необходимо включить необработанную доставку сообщений , чтобы получить доступ к структуре, содержащей метку времени. Поскольку это кодирует ваше исходное сообщение в оболочку JSON, вам также потребуется JSON.parse () (или эквивалентный) атрибут Message, если ваше исходное сообщение также находится в формате JSON.

0 голосов
/ 01 мая 2018

Сам SNS не имеет возможности изменять данные, отправленные через него. Но вы можете сделать лямбда-функцию, которую отправляет ваша тема SNS.

Вот как вызвать лямбду из SNS

В Lambda вы можете добавить соответствующую метку времени и затем перейти к другой теме SNS. Конечно, это может добавить дополнительную задержку. Но в зависимости от вашего сценария это может быть лучшим способом продвижения вперед.

...