SNS通过

时间:2018-05-01 17:55:51

标签: amazon-web-services timestamp logstash amazon-sqs amazon-sns

我有logstash的日志消息(带有日志时间戳),它们在输入logstash时得到一个时间戳。消息离开logstash后,它将转向SNS。当消息通过SNS时,我需要添加第三个时间戳,这样当我收到消息时,我可以告诉延迟的位置,如果有的话。沿途有更多节点用于消息,但我现在只关心SNS。我的问题,“具体如何在SNS中为消息添加时间戳?”。

2 个答案:

答案 0 :(得分:0)

SNS本身无法修改通过它发送的数据。但是你可以制作一个你的SNS主题发送给它的Lambda函数。

Here is how to invoke Lambda from SNS

在Lambda中,您可以添加适当的时间戳,然后推送到另一个SNS主题。当然,这可能会增加一些额外的延迟。但根据您的情况,这可能是最好的前进方式。

答案 1 :(得分:0)

SNS会自动为SNS收到消息的时间戳消息("已发布" - 而不是当SNS将消息发送到链中的下一个服务时)。

  

Timestamp

     

通知发布时的时间(GMT)。

     

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

如果您要将消息发送到HTTP或SQS端点,则还需要启用raw message delivery来访问包含时间戳的结构。由于这会将您的原始消息编码为JSON包装器,因此如果您的原始消息也是JSON,那么您还需要JSON.parse()(或等效的)Message属性。