我正在尝试在本地调试 Azure Function。这是一个 EventHubTrigger。
问题是我需要在本地调试代码,因为我仍然没有“真实”设置。
我的代码目前如下所示:
public static class Notificator
{
[FunctionName("Notificator")]
public static async Task Run([EventHubTrigger("achievements")]UserAchivementNofication notification, ILogger log)
{
}
}
但是当我尝试调试它时,我收到此错误:
Microsoft.Azure.WebJobs.Host: Error indexing method 'Notificator.Run'. Microsoft.Azure.WebJobs.ServiceBus: No event hub receiver named achievements.
这很正常,因为它不存在。
我的 local.settings.json 是这样的:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true"
}
}
如何调试我的代码?
最佳答案
您需要在 Azure 上创建一个 EventHub,以便可以在本地测试 EventHug 触发器,
- 转到 local.settings.json 添加一些设置:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "AzureWebJobsDashboard": "UseDevelopmentStorage=true", "EventHubConnectionString": "YourEventHubConnectionString" } }
你的函数应该是这样的:
public static void Run([EventHubTrigger("EventHubName", Connection = "EventHubConnectionString")]EventData myEventHubMessage, TraceWriter log)
关于azure - 如何在本地调试EventHubTrigger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52145719/