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

Azure Node函数通过Event Hub输出绑定动态路由ADX表遇阻

问题解决:Azure Node.js函数Event Hub输出绑定实现ADX动态表路由

问题根源

Azure Functions的Event Hub输出绑定在Node.js环境中,对消息属性的字段命名要求与EventHubProducerClient SDK不同:

  • SDK中自定义属性放在properties字段
  • 函数输出绑定要求属性放在applicationProperties字段

直接复用SDK的消息结构时,properties字段不会被输出绑定识别,导致ADX无法获取到动态路由所需的Table、Format等属性,只能使用数据连接中配置的固定表。

正确代码示例

在Node.js函数中,返回符合输出绑定要求的消息结构:

module.exports = async function (context, req) {
    // 构造带动态路由属性的消息
    const eventMessage = { 
        body: { 
            some: "fieldValue" 
        }, 
        applicationProperties: { 
            Table: 'table_name', 
            Format: 'JSON', 
            IngestionMappingReference: 'table_name_mapping' 
        } 
    };

    // 绑定到Event Hub输出(假设输出绑定名称为eventHubOutput)
    context.bindings.eventHubOutput = eventMessage;
    context.done();
};

额外验证步骤

  • 确认ADX与Event Hub的数据连接未设置固定目标表,需启用动态路由模式
  • 确保IngestionMappingReference指定的映射规则已在目标ADX表中创建
  • 可通过Event Hub门户的消息预览功能,验证消息的Application Properties是否包含正确的路由字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:10:29