v2 Azure Функция с триггером служебной шины не срабатывает - PullRequest
0 голосов
/ 14 ноября 2018

Я использую функции Azure V2 с триггером служебной шины, используя 1.0.23 из C # Functions SDK. Я использую следующий подход для получения секретов из KeyVault и использования их в настройках триггеров: Как автоматически сопоставить секреты функций Azure из Key Vault

Функция, особенно когда она ничего не делала некоторое время, не срабатывает, когда в подписке есть сообщения. Если я затем захожу на портал и выполняю вручную (да, это конкретное выполнение запускается с пустым сообщением), оно запускает его, берет другие сообщения в очереди и обрабатывает их правильно.

Это явно не идеально для наших автоматических тестов. Кто-нибудь видел это или знает что-нибудь, что поможет?

Кроме того, приложение Function работает по плану потребления.

1 Ответ

0 голосов
/ 15 ноября 2018

План обслуживания приложения

Если вы используете план обслуживания приложения, тогда все просто, просто используйте Всегда включен

План потребления

Если вы используете план потребления, проблема может заключаться в том, что ваши триггеры не синхронизируются должным образом с инфраструктурой Azure (центральный прослушиватель).Это могло произойти из-за того, как вы развернули / отредактировали настройки, связанные с триггером, как описано в выпуске № 210 ниже.

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

Взгляните на эти проблемы:

  1. Триггер темы служебной шины переходит в спящий режим - План потребления

    Они также упоминают, что он просыпается только при доступе к нему через портал или при вызове запускаемой по HTTP функции в том же приложении, что похоже на поведение, которое вы видите.

  2. Выпуск № 210 enter image description here

  3. Выпуск № 681

Существует 3 предложенных способа решения проблемы, упомянутых выше как часть проблемы № 210

Чтобы синхронизировать триггеры при использовании этих параметров развертывания, откройте портал Azure инажмите кнопку Обновить или выполните вызов API для конечной точки триггеров синхронизации: https://github.com/davidebbo/AzureWebsitesSamples/blob/master/ARMTemplates/FunctionsWebDeploy.json#L90

Пример Powershell: https://github.com/davidebbo/AzureWebsitesSamples/blob/master/PowerShell/HelperFunctions.ps1#L360-L365

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...