2014-02-25 118 views
1

在我的代碼中,我使用循環內的recieveMessageResponse.RecieveMessageResult.Message[i]來讀取SQS消息結果。我想知道是否有一個選項來限制可從客戶端讀取的隊列消息的數量?SQS消息請求限制

我擔心有數千個隊列消息,每次我的圖像處理服務器完成處理圖像時,都需要重新獲取隊列結果。這意味着我的EC2服務器需要檢索數千個需要處理的圖像的隊列數據。

我正在使用.NET的C#SDK。

回答

1

您可以在任何時間設置您想要收到的限制,最大值爲10--這是默認值(和最大值)。你永遠不會超過10個,所以你不必擔心會得到太多。

現在消息在隊列中,您可以接收它(從隊列中檢索它 )。當請求從隊列中獲取消息時, 無法指定要獲取的消息。您只需指定要獲取的最大郵件數量(最多10個),並且Amazon SQS返回 直到該最大數量。

http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingStartedGuide/ReceiveMessage.html

http://docs.aws.amazon.com/sdkfornet1/latest/apidocs/html/T_Amazon_SQS_Model_ReceiveMessageRequest.htm