您可以对Azure函数或存储队列的输出进行速率限制吗?

2024-04-25 15:09:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个存储队列触发的pythonazure函数,它将作业提交给第三方速率有限的API(1个请求/分钟)。触发函数的队列将定期接收消息突发,因此我需要一种方法来确保在收到第一条消息时立即触发函数,在收到第二条消息后1分钟,在收到第三条消息后2分钟,等等,直到队列为空为止。你知道吗

是否可以对队列或函数进行速率限制,以便我每分钟只运行一次函数,直到队列为空?你知道吗


Tags: 方法函数api消息队列速率作业pythonazure
2条回答

无法对存储队列进行速率限制(除了队列自然受到存储事务速率限制的速率限制之外,后者比您当前所需的速率限制大几个数量级)。你知道吗

你可以为你的Azure函数设置一个计时器触发器,而不是在消息到达时触发你的Azure函数。这将允许您在计时器上设置1分钟的间隔,您的函数可以在这里读取消息并调用第三方API。你知道吗

您需要指定一个计时器值,它是一个ncontab表达式,格式如下:

{second} {minute} {hour} {day} {month} {day-of-week}

每1分钟的表达式如下所示:

"0 */1 * * * *"

有关计时器触发器here的详细信息。你知道吗

查看NextVisibleTime属性:

CloudQueueMessage.NextVisibleTime

相关问题 更多 >

    热门问题