Как запустить действие контроллера из очереди хранилища Azure, как в функциях Azure?

Мне известно, что приложение-функция Azure предлагает множество способов запуска его функций. Среди них - триггер очереди хранилища Azure.

Мне нужно использовать именно этот метод в моем локальном проекте веб-API .NET Core 3.1, который до сих пор запускается исключительно HTTP-запросами.

Можно ли это сделать?

Ваше здоровье


person baouss    schedule 15.01.2020    source источник
comment
У вас может быть функция Azure, которая запускается триггером очереди хранилища Azure, и эта функция Azure может затем вызывать вашу локальную конечную точку веб-API.   -  person marc_s    schedule 15.01.2020
comment
Верно, хотя тогда мне приходится иметь дело с локальным шлюзом данных и конфигурацией брандмауэра, чего я хотел избежать. Должен был сказать об этом в моем вопросе, извините.   -  person baouss    schedule 15.01.2020
comment
Я предполагаю, что одним приближением было бы вручную проверять записи в очереди каждые x секунд ...   -  person baouss    schedule 15.01.2020
comment
На самом деле вы можете запускать Функции Azure, включая триггеры, локально, используя KEDA: docs.microsoft.com/en-us/azure/azure-functions/   -  person silent    schedule 15.01.2020
comment
Спасибо. Это, с другой стороны, потребует, чтобы докер работал на сервере, что не так, и я не думаю, что когда-либо будет. Я действительно надеялся на то, что смогу использовать в основном приложении dotnet, например с рабочим сервисом, или что-то в этом роде   -  person baouss    schedule 15.01.2020
comment
Можете ли вы изменить свой вопрос и четко описать?   -  person Bowman Zhu    schedule 16.01.2020


Ответы (1)


Хотя я действительно не пробовал это раньше, я считаю, что вы сможете запустить Функции Azure Хост локально аналогичен тому, как он работает внутри своего контейнера докеров < / а>.

Другой вариант - использовать SDK WebJobs (на котором построены Функции Azure), который вы должны иметь возможность использовать (вместе со всеми доступными привязками функций) для создания автономной службы, которую можно запускать локально.

person PramodValavala-MSFT    schedule 16.01.2020
comment
Думаю, ответом будет запуск хоста функций Azure локально - вне контейнера докеров. Также желательно, так как я довольно хорошо разбираюсь в функциях. Но SDK WebJobs также заслуживает внимания. - person baouss; 16.01.2020
comment
Он действительно хорошо работает, используя SDK для веб-заданий. Отметил как ответ. Спасибо. - person baouss; 17.01.2020
comment
Я снова снял отметку с предложенного ответа. Он работает локально с помощью dotnet run. Но когда я хочу развернуть это и запустить скомпилированный контент. В журналах отображаются сообщения об ошибках, относящиеся к C: \ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.Extensions.Storage \ StorageAccountProvider.cs: которого нет в моей системе. Я его тоже не кодировал. Это наводит меня на мысль, что это было жестко запрограммировано SDK в ожидании, что проект будет работать в Azure (служба приложений), где на узле есть этот файл. В то время как я пытаюсь запустить его локально. - person baouss; 20.01.2020
comment
Не могли бы вы рассказать, как и где вы его развернули? - person PramodValavala-MSFT; 21.01.2020