azure - 如何在本地调试EventHubTrigger?

标签 azure azure-functions azure-eventhub

我正在尝试在本地调试 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 触发器,

  1. 转到 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/

    相关文章:

    C# Azure 服务总线队列 OnMessage 回调

    .net-core - Azure函数错误: BinaryFormatter serialization and deserialization are disabled within this application

    azure - 事件中心的入站 IP 是什么?

    c# - Azure 事件中心 - 如何在 .Net Core WebAPI 中实现使用者?

    Azure Function App 基础设施重新部署导致应用程序中的现有函数因缺少需求而失败,并且还会删除以前的调用数据

    java - 如何使用 Spark 和 Java 来使用来自 Azure eventhub 的数据

    security - 保护 Service Fabric 集群但公开 API

    node.js - 使用 Azure AD 承载 token 时身份验证失败,无法返回容器列表 [Azure Blob] [Azure AD OAuth 2.0] [REST API]

    powershell - 如何使用 Powershell 控制 Azure VM

    Azure Function v2 - 如何将配置加载为单例?