Функция JavaScript Azure вышла в очередь служебной шины - PullRequest
1 голос
/ 06 марта 2019

У меня есть очередь служебной шины, для которой установлено обнаружение дубликатов.

Функция запускается через CosmosDb, в которой необходимо создать сообщение в очереди служебной шины; однако каждая попытка завершается с ошибкой дублирующегося сообщения, требующей MessageId.

Существует ли Javascript SDK, к которому функция может получить доступ для создания нового допустимого содержимого сообщения?

Если нет, как должна выглядеть полезная нагрузка сообщения?

1 Ответ

0 голосов
/ 30 апреля 2019

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

В нашем случае, в большинстве сценариев обнаружение дубликатов хорошо, но в некоторых это было плохо (особенно с 10-минутным диапазоном). Чтобы обойти это, мы ввели «прерыватель»: Задайте значение в свойстве messageId служебной шины, как показано ниже

msg.MessageId = messageId + "_" + DateTime.Now.ToString("u");

Если вы просто хотите предотвратить «рассылку спама», вы можете установить минимальное окно обнаружения дубликатов (20 секунд). (Лично я хотел бы, чтобы порог составлял всего 5 секунд).

Допустимые значения: от 20 секунд до 7 дней.

...