azure - 有使用 EventHub 的 WebJob 示例吗?

标签 azure azure-webjobs azure-eventhub azure-webjobssdk

我尝试从 WebJobsSDK gitHub 中的示例中得出一些结论

var eventHubConfig = new EventHubConfiguration();
string eventHubName = "MyHubName";
eventHubConfig.AddSender(eventHubName,"Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=SendRule;SharedAccessKey=xxxxxxxx");
eventHubConfig.AddReceiver(eventHubName, "Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=ReceiveRule;SharedAccessKey=yyyyyyy");

config.UseEventHub(eventHubConfig);
JobHost host = new JobHost(config);

但恐怕这对于我这样有限的“技能”的人来说还不够!

  • 我找不到具有 UseEventHub 属性的 JobHostConfiguration 实例(使用 Microsoft.AzureWebJobs 包的 v1.2.0-alpha-10291 版本),因此我无法将 EventHubConfiguration 传递给 JobHost。

  • 我以前使用过 EventHub,但不是在 WebJob 上下文中使用。我不知道如果使用 WebJob 触发,是否仍然需要 EventHostProcessor...或者 WebJob 触发器本质上充当 EventHostProcessor?

无论如何,如果有人能为像我这样的傻瓜提供一个更完整的例子,那就太好了!谢谢

最佳答案

来自文档here ,您应该拥有所需的所有信息。

您缺少的是 Microsoft.Azure.WebJobs.ServiceBus.1.2.0-alpha-10291 nuget 包的引用。

UseEventHub 是在此包中声明的扩展方法。

否则你的配置看起来没问题。 以下是有关如何从 EventHub 接收消息或向 EventHub 发送消息的示例:

public class BasicTest
{
    public class Payload
    {
        public int Counter { get; set; }
    }
    public static void SendEvents([EventHub("MyHubName")] out Payload x)
    {
        x = new Payload { Counter = 100 };
    }

    public static void Trigger(
        [EventHubTrigger("MyHubName")] Payload x,
        [EventHub("MyHubName")] out Payload y)
    {
        x.Counter++;
        y = x;
    }
}

关于azure - 有使用 EventHub 的 WebJob 示例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727808/

相关文章:

azure - 使用 Azure PowerShell 备份 Azure WebApp

c# - 使用 .Net core 应用程序发送到 EventHubs 时如何优化吞吐量

.net - Azure WebJob QueueTrigger 消息未从队列中删除

asp.net - 为什么在发布 Web 应用程序时未拾取对我的 WebJob 的更改?

azure - Azure 事件中心在哪里存储它们摄取的数据?

c# - 如何在 C# 中为事件中心创建接收器以获取给定时间跨度的消息?

c# - Azure 成员(member)帐户访问问题

database - 如何在数据迁移助手工具中提供数据库名称

sql-server - SQL Azure DTU 100% 故障排除

visual-studio - 如何将手动创建的 WebJobs 发布到 Azure