Я хочу разработать локально свое приложение-функцию Azure, а затем опубликовать его на портале Azure. Я использую командную строку Azure Functions Core Tools, и все мои функции находятся в Node.js. В настоящее время мне удалось загрузить свои функции локально и получить их настройки с помощью команды:
func azure functionapp fetch-app-settings
Итак, после этого мой local.settings.json имеет правильные значения настроек. Когда я вношу какие-либо изменения, я также могу успешно опубликовать их на портале Azure.
Проблема в том, что теперь у меня есть две функции в моем приложении: одна - Http Triggered, а вторая - EventHub. Когда я пытаюсь запустить локальный хост с:
func host start
Я получаю следующий вывод с консоли:
[10.12.2017 13:03:47] Found the following functions:
[10.12.2017 13:03:47] Host.Functions.HttpTriggerJS1
[10.12.2017 13:03:47]
[10.12.2017 13:03:47] Job host started
[10.12.2017 13:03:47] The following 1 functions are in error:
[10.12.2017 13:03:47] EventHubTriggerJS1: The binding type 'eventHubTrigger' is not registered. Please ensure the type is correct and the binding extension is installed.
И когда я пытаюсь запустить локально эту функцию EventHubTriggerJS1 с помощью curl:
curl --request POST -H "Content-Type:application/json" --data '{"input":"sample queue data"}' http://localhost:7071/admin/functions/EventHubTriggerJS1
тогда ничего не происходит, поэтому я предполагаю, что это проблема регистрации этого триггера. HttpTriggerJS1 работает отлично, я могу получить к нему доступ через
http://localhost:7071/api/HttpTriggerJS1
Итак, у вас есть идеи, где могут возникнуть проблемы при настройке? Кстати, возможно ли локально работать и подключаться к удаленному EventHub на портале?