我有logstash的日志消息(带有日志时间戳),它们在输入logstash时得到一个时间戳。消息离开logstash后,它将转向SNS。当消息通过SNS时,我需要添加第三个时间戳,这样当我收到消息时,我可以告诉延迟的位置,如果有的话。沿途有更多节点用于消息,但我现在只关心SNS。我的问题,“具体如何在SNS中为消息添加时间戳?”。
答案 0 :(得分:0)
SNS本身无法修改通过它发送的数据。但是你可以制作一个你的SNS主题发送给它的Lambda函数。
Here is how to invoke Lambda from SNS
在Lambda中,您可以添加适当的时间戳,然后推送到另一个SNS主题。当然,这可能会增加一些额外的延迟。但根据您的情况,这可能是最好的前进方式。
答案 1 :(得分:0)
SNS会自动为SNS收到消息的时间戳消息("已发布" - 而不是当SNS将消息发送到链中的下一个服务时)。
Timestamp
通知发布时的时间(GMT)。
如果您要将消息发送到HTTP或SQS端点,则还需要启用raw message delivery来访问包含时间戳的结构。由于这会将您的原始消息编码为JSON包装器,因此如果您的原始消息也是JSON,那么您还需要JSON.parse()(或等效的)Message
属性。