是否可以检索存储队列中的所有消息,即使是分批?
Is it possible to retrieve all the messages in storage queue, even if in batches?
我了解 GetMessages 和 PeekMessages 有 32 条消息的限制。这是他们可以收回的最大数量。
我有一个包含超过 50 条消息的存储队列,我想一次检索并处理所有消息。可以这样做吗?
我猜你可以使用 GetMessages 检索前 32 个,并更改出队计数,然后进行另一个调用并检索下一个 32 个,并更改出队计数等,但我想知道是否有如何在不影响出队计数的情况下批量获取它们。
例如,假设我想 update/delete 添加的最后一条消息(比如 65 条消息中的最后一条)我怎样才能在不影响其他 64 条消息的情况下执行此操作?
提前致谢
对你的问题的简单回答是你不能。
您提到要 update/delete 一条消息(最后一条)。为此,首先您需要使所有消息出列(调用 GetMessages
),这将更改已提取消息的出列计数。
查看消息也无济于事,因为查看消息不会改变消息的可见性,并且您会一遍又一遍地收到相同的消息(假设没有其他进程已将某些消息出列)。
我了解 GetMessages 和 PeekMessages 有 32 条消息的限制。这是他们可以收回的最大数量。
我有一个包含超过 50 条消息的存储队列,我想一次检索并处理所有消息。可以这样做吗?
我猜你可以使用 GetMessages 检索前 32 个,并更改出队计数,然后进行另一个调用并检索下一个 32 个,并更改出队计数等,但我想知道是否有如何在不影响出队计数的情况下批量获取它们。
例如,假设我想 update/delete 添加的最后一条消息(比如 65 条消息中的最后一条)我怎样才能在不影响其他 64 条消息的情况下执行此操作?
提前致谢
对你的问题的简单回答是你不能。
您提到要 update/delete 一条消息(最后一条)。为此,首先您需要使所有消息出列(调用 GetMessages
),这将更改已提取消息的出列计数。
查看消息也无济于事,因为查看消息不会改变消息的可见性,并且您会一遍又一遍地收到相同的消息(假设没有其他进程已将某些消息出列)。