Как локально отлаживать EventHubTrigger? - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь отладить функцию Azure локально. Это EventHubTrigger.

Проблема в том, что мне нужно отладить код локально, потому что у меня все еще нет «настоящих» настроек.

Мой код в настоящее время выглядит так:

public static class Notificator
{
    [FunctionName("Notificator")]
    public static async Task Run([EventHubTrigger("achievements")]UserAchivementNofication notification, ILogger log)
    {
    }
}

Но когда я пытаюсь его отладить, я получаю эту ошибку:

Microsoft.Azure.WebJobs.Host: метод индексации ошибок 'Notificator.Run. Microsoft.Azure.WebJobs.ServiceBus: нет центра событий получатель назвал достижения.

И это нормально, потому что его не существует.

Мой local.settings.json такой:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "AzureWebJobsDashboard": "UseDevelopmentStorage=true"
    }
}

Как мне отладить мой код?

Спасибо!

1 Ответ

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

Вам нужно создать EventHub в Azure, чтобы можно было локально протестировать триггер EventHug,

  1. Перейти к local.settings.json, чтобы добавить некоторые настройки:
{
  "IsEncrypted": false,
  "Values": {
     "AzureWebJobsStorage": "UseDevelopmentStorage=true",
     "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
     "EventHubConnectionString": "YourEventHubConnectionString"
  }
}
  1. Ваша функция должна быть такой:

    public static void Run([EventHubTrigger("EventHubName", Connection = "EventHubConnectionString")]EventData myEventHubMessage, TraceWriter log)
    
...