2014-09-10 24 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

相關問題