Триггер очереди Azure - ограничение скорости удаления из очереди

У меня есть приложение триггера очереди Azure. Он пытается обработать сообщение как можно скорее, но когда у меня в очереди есть 1000 сообщений, я хочу ограничить количество сообщений очереди, которые он обрабатывает в секунду. Есть ли способ установить лимит?

Моя цель - снизить скорость обработки сообщений моей функцией.

{
  "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.24",
  "configurationSource": "attributes",
  "bindings": [
    {
      "type": "queueTrigger",
      "queueName": "fred",
      "connection": "",
      "name": "myQueueItem"
    }
  ],
  "disabled": false,
  "scriptFile": "../bin/run.dll",
  "entryPoint": "Fred.Run"
}

person Fred    schedule 12.03.2020    source источник
comment
вы можете сделать это с помощью концентратора событий и модуля пропускной способности. Я не думаю, что есть способ сделать это с помощью Queue Trigger.   -  person Thiago Custodio    schedule 12.03.2020
comment
См. этот ответ на очень похожий вопрос.   -  person David Makogon    schedule 13.03.2020


Ответы (1)


Вы не можете ограничить «X запросов в секунду», так как это зависит от вашей логики обработки. Однако вы можете настроить размер пакета, а затем также о том, на сколько экземпляров будет масштабироваться ваша функция.

См. Здесь: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue-trigger?tabs=csharp#concurrency

https://docs.microsoft.com/en-us/azure/azure-functions/functions-app-settings#website_max_dynamic_application_scale_out

person silent    schedule 12.03.2020