Heim  >  Fragen und Antworten  >  Hauptteil

AWS SQS ReceiveMessage Haben Sie weniger Nachrichten erhalten, als Sie angefordert haben?

Ich habe ein einfaches SQS konfiguriert und möchte 4 Nachrichten gleichzeitig verarbeiten. In meinen Tests gab es 2 „Verfügbar“-Meldungen. Wenn ich die Nachricht erhalte, werden jeweils nur 1 erzeugt. Was habe ich falsch gemacht?

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

P粉894008490P粉894008490322 Tage vor434

Antworte allen(1)Ich werde antworten

  • P粉654894952

    P粉6548949522023-12-25 00:08:37

    您没有做错任何事,这种行为是正常的。

    这是由于 SQS(以及大多数 AWS 服务)的分布式性质造成的。基本上,并非所有节点都具有所有可用消息,并且您与之交谈的节点可能会返回 0 到 MaxNumberOfMessages 之间的任何数字(如果有可用的话)。要在一次调用中实际接收多条消息,您需要在队列中有 100 或 1000 多条消息,即使如此,您也可能会运气不好,收到的消息很少。

    来自文档

    Antwort
    0
  • StornierenAntwort