2014-09-10 48 views
0

我想知道在发送消息到队列时,Amazon SQS如何处理SentTimestamp?Amazon Sqs如何配置消息SentTimestamp,当它没有在请求中指定时

  • 如果请求没有指定SentTimestamp属性,并采取亚马逊他们的系统的时间戳时,它接收在SQS消息是SentTimestamp值?

  • 从我的实验中,即使我在请求中指定了SentiTimestamp属性,我也确实看到Amazon不会将该值作为消息SentTimestamp。

  • 如果我的本地系统时钟与NTP服务器不同步,它是否对SentTimestamp属性产生影响?

有人可以帮助澄清这些问题吗?

谢谢。

回答

0

SentTimestamp属性由SQS设置且为只读,您不能用其他值覆盖SentTimestamp属性。

请注意,SQS文档仅在ReceiveMessage部分提到了SentTimestamp。 SentTimestamp来自Attributes字段,与MessageAttributes字段不同。虽然您可以在发送消息时指定MessageAttributes,但发送时无法指定属性。因此,属性字段必须由SQS填充。

如果发件人的时钟错误,它将不会影响SentTimestamp值。 但是,如果接收者的时钟错误,您可能会在尝试处理SentTimestamp值时得到不正确的结果。

来源:SQS API Documentation

相关问题