You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Azure.ResourceManager.EventHubs库编程创建Event Hub?

如何通过Azure.ResourceManager.EventHubs库编程创建Event Hub?

可以通过编程方式在Event Hub命名空间中创建新的Event Hub,EventHubsNamespaceResource类其实支持创建操作,你可以利用它的GetEventHubs()方法获取Event Hub集合操作对象,进而调用创建方法。

修改后的完整代码如下:

ResourceGroupResource _resourceGroup;

public EventHubResource GetOrCreateEventHub(string eventHubNamespaceName, string eventHubName)
{
    var eventHubNamespace = _resourceGroup.GetEventHubsNamespace(eventHubNamespaceName).Value;

    try
    {
        return eventHubNamespace.GetEventHub(eventHubName).Value;
    }
    catch (Exception ex)
    {
        // 配置新Event Hub的参数,比如分区数、消息保留天数等
        var eventHubData = new EventHubData()
        {
            PartitionCount = 2, // 根据需求设置分区数
            MessageRetentionInDays = 7 // 根据需求设置保留天数
        };

        // 同步创建Event Hub(也可使用CreateOrUpdateAsync异步方法)
        var createOperation = eventHubNamespace.GetEventHubs().CreateOrUpdate(WaitUntil.Completed, eventHubName, eventHubData);
        return createOperation.Value;
    }
}

关键说明:

  • 使用EventHubData类定义新Event Hub的核心配置,比如分区数、消息保留时长等,可根据业务需求调整参数。
  • CreateOrUpdate方法本身就支持“存在则返回、不存在则创建”的逻辑,也可以直接用这个方法替代原来的try-catch逻辑,避免异常捕获的开销:
    var eventHubNamespace = _resourceGroup.GetEventHubsNamespace(eventHubNamespaceName).Value;
    var eventHubData = new EventHubData { PartitionCount = 2, MessageRetentionInDays = 7 };
    var operation = eventHubNamespace.GetEventHubs().CreateOrUpdate(WaitUntil.Completed, eventHubName, eventHubData);
    return operation.Value;
    
  • 若偏好异步编程,可调用CreateOrUpdateAsync方法,搭配await关键字使用。

内容的提问来源于stack exchange,提问作者Martin Staufcik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:05:18