WebJobs в нескольких слотах развертывания и учетных записях StorageAccounts
Я пытаюсь веб-задания с использованием слотов развертывания (dev, qa, prod). Кажется, что каждый слот, похоже, нуждается в своей собственной учетной записи хранения, поскольку, когда я пытаюсь использовать одну и ту же учетную запись хранения, задания (основанные на времени) выполняются только в одном из слотов. Во всех остальных, работа никогда не срабатывает.
Я попытался подготовить другую учетную запись хранения, и когда я устанавливаю строки подключения (AzureWebJobsDashboard, AzureWebJobsStorage) в QA, задания запускаются (что, кажется, доказывает, что мне нужно несколько учетных записей хранения). Но я не хочу платить за 3 отдельные учетные записи хранения, где dev и qa будут использоваться не так часто. Можно ли использовать какие-либо настройки, которые позволят использовать одну учетную запись в разных слотах?
1 ответ
Вам не нужна другая учетная запись хранения, но вам нужно установить другую HostId
на JobHostConfiguration
объект. Вы можете использовать переменную окружения, чтобы прочитать ее, а затем установить для нее разные значения в качестве параметра приложения для слотов в каждом из ваших слотов.
См. https://github.com/Azure/azure-webjobs-sdk-extensions/issues/56 для получения дополнительной информации.