AWS SQS ReceiveMessage 收到的訊息少於請求的訊息?
P粉894008490
P粉894008490 2023-12-24 10:50:53
0
1
471

我配置了一個簡單的 SQS,並且我想一次處理 4 訊息。 在我的測試中,它有2條「可用」訊息。當我收到訊息時,一次只會產生 1 。我做錯了什麼?

sqs = boto3.client('sqs')
response = sqs.receive_message(
    QueueUrl=queue_url,
    MaxNumberOfMessages=4
)

P粉894008490
P粉894008490

全部回覆(1)
P粉654894952

您沒有做錯任何事,這種行為是正常的。

這是由於 SQS(以及大多數 AWS 服務)的分散性質造成的。基本上,並非所有節點都具有所有可用訊息,並且您與之交談的節點可能會傳回 0 到 MaxNumberOfMessages 之間的任何數字(如果有可用的話)。要在一次呼叫中實際接收多個訊息,您需要在佇列中有 100 或 1000 多個訊息,即使如此,您也可能會運氣不好,收到的訊息很少。

來自文件

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板