2015-11-05 88 views

回答

2

不,並且該行爲將是不可取的,因爲SentTimestamp具體描述了郵件何時首次發送到隊列。

documentation描述可見性超時提供了一些啓示:組件收到消息後

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

這裏最重要的外賣是,消息從來沒有真正離開隊列,它只是從收到的郵件的其他客戶端隱藏。所以MessageID和SentTimeout之類的消息內容不會改變。另一方面,每次收到消息時,與接收消息RecieptHandle和Receive Count相關的信息都會發生變化。

您可以從AWS Web控制檯通過自我驗證這一點:

  • 創建隊列中的消息。
  • 查看消息。
  • 等待可見性超時到期。一旦完成,再次在新選項卡中打開SQS控制檯。
  • 在新選項卡中再次查看消息。比較兩個收到的消息的內容。
相關問題