AWS SQS 始终 return 1 条消息(PHP SDK)

AWS SQS always return 1 message (PHP SDK)

我在使用 AWS SQS 的 receiveMessage 函数时遇到问题。它总是 returns 1 条随机消息

        $result = $client->receiveMessage(array(
            'MaxNumberOfMessages' => 10,
            'MessageAttributeNames' => ['All'],
            'QueueUrl' => AConfig::sqs_query_url, // REQUIRED
            'WaitTimeSeconds' => 10,
        ));

请给个建议:(

还有一个问题:是否有按 sender_id 过滤消息的方法?

谢谢!

这是因为 AWS SQS 的性质。您的消息不是在一个队列中,而是在内部分布在不同的队列中。

因此文档说明如下:

[...] If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. [...]

更多详情请查看AWS SQS - Documentation