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

如何将Azure EventHub接收端默认协议从AMQP修改为HTTPS

解决方案

你需要在构造EventProcessorClient前显式配置传输类型,替换原来直接传入连接字符串的构造方式即可,具体修改如下:

核心逻辑说明

EventHubsTransportType.AmqpWebSockets会将AMQP协议封装在WebSocket隧道中,通过标准443端口(HTTPS端口)传输,刚好适配你防火墙仅放行HTTPS的场景。

修改后的完整代码

using Azure.Messaging.EventHubs;
using Azure.Messaging.EventHubs.Consumer;
using Azure.Messaging.EventHubs.Processor;
using Azure.Storage.Blobs;
using System.Text;

static async Task Main()
{
    // 读取默认消费者组:$Default
    string consumerGroup = EventHubConsumerClient.DefaultConsumerGroupName;

    // 创建事件处理器需要用到的Blob容器客户端
    storageClient = new BlobContainerClient(blobStorageConnectionString, blobContainerName);

    // ========== 新增/修改部分开始 ==========
    // 配置Event Hub连接选项,指定使用WebSocket方式传输
    var connectionOptions = new EventHubConnectionOptions
    {
        TransportType = EventHubsTransportType.AmqpWebSockets
    };

    // 先构造EventHubConnection对象,传入配置好的传输选项
    await using var eventHubConnection = new EventHubConnection(ehubNamespaceConnectionString, eventHubName, connectionOptions);
    // ========== 新增/修改部分结束 ==========

    // 创建EventProcessorClient时传入构造好的eventHubConnection,替代原来直接传连接字符串和事件名的方式
    processor = new EventProcessorClient(storageClient, consumerGroup, eventHubConnection);
    
    // 注册事件处理和错误处理的回调
    processor.ProcessEventAsync += ProcessEventHandler;
    processor.ProcessErrorAsync += ProcessErrorHandler;

    // 启动处理
    await processor.StartProcessingAsync();

    // 等待30秒处理事件
    await Task.Delay(TimeSpan.FromSeconds(30));

    // 停止处理
    await processor.StopProcessingAsync();
}

static async Task ProcessEventHandler(ProcessEventArgs eventArgs)
{
    // 将事件体内容输出到控制台
    Console.WriteLine("\tReceived event: {0}", Encoding.UTF8.GetString(eventArgs.Data.Body.ToArray()));

    // 在Blob存储中更新检查点,下次应用启动时仅接收新事件
    await eventArgs.UpdateCheckpointAsync(eventArgs.CancellationToken);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:36:04