AWS SQS - 我如何知道从"发送到队列的消息所需的时间间隔"收到的消息"?

时间:2016-05-19 15:40:36

标签: amazon-web-services message-queue amazon-sqs

例如,消息将发送到2016-05-19 23:29:05的队列。它在2016-05-19 23:30:05被消费者接收。处理完毕后,邮件将在2016-05-19 23:30:08处删除。这意味着从发送到队列的消息到消费者接收它需要60秒,并且从生成的消息开始需要63秒。

此指标有助于监控消费者消费消息的速度。

为了获得消息的生命周期,我必须在发送到队列时为每条消息手动添加timestamp属性。消费者将检索时间戳并计算时间间隔。

SQS是否提供类似的API来获取消息的生命周期(我检查过SQS API而没有运气),还是有其他好主意?

1 个答案:

答案 0 :(得分:2)

SQS消息上有一些属性可以让您测量消息在队列中所花费的时间。

您可以使用的一些属性是 SentTimestamp,CreatedTimestamp,LastModifiedTimestamp等

我正在查看javascript SDK,似乎只有在明确请求时才返回某些属性 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property

有关SQS消息中可用的所有属性的列表,请参阅http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html