Функции Azure: конфигурации очереди

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

Кроме того, как я могу настроить очередь для обработки элементов, которые входят в очередь отравления, только два раза, а не пять раз, что сейчас кажется по умолчанию.

Везде, что я проверяю, говорится об обновлении файла function.json, которого я даже не вижу в своем экземпляре Visual Studio. Похоже, он настраивается во время выполнения на основе моих настроек в local.settings.json.

Я обновлял только свой файл local.settings.json. В моем host.json есть только version:2.0.

Где я могу изменить конфигурацию моей очереди Azure?


person Sarah    schedule 11.06.2019    source источник


Ответы (1)


Где я могу изменить конфигурацию моей очереди Azure?

Как сказано в новом случае, вы можете установить следующую конфигурацию в host.json.

{
    "version": "2.0",
    "extensions": {
        "queues": {
            "maxPollingInterval": "00:00:02",
            "batchSize": 1,
            "maxDequeueCount": 2
        }
    }
}

Дополнительные сведения см. в этом статья.

person Joey Cai    schedule 13.06.2019
comment
Спасибо Джоуи за вашу помощь в этом. Если бы у меня было две очереди и для каждой нужны разные конфигурации, как это будет работать? Например, если я хочу размер пакета 2 для очереди 1 и размер пакета 6 для очереди 2. Есть ли способ указать имя очереди, для которой предназначены эти конфигурации? - person Sarah; 14.06.2019
comment
Еще один вопрос, я использовал то, что вы рекомендовали, и добавил их в host.json и опубликовал свои функции на портале Azure, как я могу проверить, чтобы подтвердить, что мой пакетный размер на самом деле равен 1. - person Sarah; 14.06.2019
comment
На первый вопрос — нет. Файл метаданных host.json содержит глобальные параметры конфигурации, влияющие на все функции приложения-функции. Поэтому, если вы хотите использовать host.json для другой функции, у вас должно быть две функции в Azure. - person Joey Cai; 14.06.2019
comment
Для второго вы можете перейти к настройкам приложения, чтобы проверить размер пакета. Кроме того, вы можете использовать Monitor, чтобы проверить это. - person Joey Cai; 14.06.2019
comment
webjob имеет триггеры Queue с разными размерами пакетов. Вы можете обратиться к этой проблеме. - person Joey Cai; 14.06.2019
comment
Спасибо, @Joey. У меня есть две отдельные функции в моем функциональном приложении в Azure. Триггер функции 1 использует очередь 1, а триггер функции 2 использует очередь 2. Таким образом, если вы хотите использовать host.json для другой функции, у вас должно быть две функции в Azure. Вы имели в виду, что у вас должны быть две функции APPS в Azure? - person Sarah; 16.06.2019
comment
Не совсем. например У меня есть joeyfunctionnet, и под ним есть триггер очереди1 и триггер очереди2. Это разные функции, но они разделяют host.json в function app setting. Если да, то вы не могли этого сделать. Если у вас есть joeyfunctionnet и joeyfunctioncore, каждый из которых имеет host.json, вы можете добиться того, чего хотите. - person Joey Cai; 17.06.2019