簡體   English   中英

可見性超時后,AWS SQS消息的“ SentTimestamp”屬性是否會更改?

[英]Does “SentTimestamp” attribute of AWS SQS message change after visibility timeout?

在使用AWS SQS時,從隊列接收到消息后,消息的“ SentTimestamp ”屬性是否發生更改,但是在可見性超時到期后沒有刪除並返回到隊列中?

不,因為SentTimestamp特別描述了消息首次發送到隊列的時間,所以這種行為是不希望的。

描述可見性超時的該文檔提供了一些見解:

組件收到消息后,消息仍立即在隊列中。 但是,您不希望系統中的其他組件再次接收和處理消息。 因此,Amazon SQS使用可見性超時來阻止它們,在這段時間內,Amazon SQS阻止其他消耗組件接收和處理該消息。

這里重要的一點是, 消息永遠不會真正離開隊列 ,只是對接收消息的其他客戶端隱藏。 因此,消息內容(如MessageID和SentTimeout)不會更改。 另一方面,每次接收到該消息時,與接收消息有關的事情都會改變,例如RecieptHandle和Receive Count。

您可以通過以下方式從AWS Web控制台進行自我驗證:

  • 在隊列中創建消息。
  • 查看消息。
  • 等待可見性超時到期。 完成后,在新選項卡中再次打開SQS控制台。
  • 在新標簽中再次查看消息。 比較兩個接收到的消息的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM