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

从Event Hub导入Azure Data Explorer后数据不可见问题排查

问题排查与解决步骤

1. 排查数据 ingestion 延迟

ADX从Event Hub拉取数据存在固有延迟,首次配置或低流量场景下,系统不会实时触发数据导入。等待5-10分钟后重新查询表数据,或手动向Event Hub发送一批测试数据触发 ingestion。

2. 验证Ingestion映射准确性

即便导入预览能看到数据,自动生成的ingestion映射仍可能存在字段匹配问题:

  • 进入ADX数据库,找到test表的Ingestion mappings配置项
  • 确认映射的字段名、数据类型与发送的JSON结构完全匹配(ADX列名不区分大小写,但字段路径需严格对应JSON层级)
  • 若映射有误,手动创建正确的JSON ingestion映射,示例:
    .create-or-alter table test ingestion json mapping 'test_mapping' '[{"column":"runId","path":"$.runId"},{"column":"startTime","path":"$.startTime"},{"column":"endTime","path":"$.endTime"},{"column":"elapsedTime","path":"$.elapsedTime"}]'
    

3. 查看Ingestion错误日志

查询ADX内置的 ingestion 日志表,排查是否存在导入失败记录:

._ingestion_results
| where DatabaseName == "<你的数据库名称>" and TableName == "test"
| order by Timestamp desc
| project Timestamp, OperationStatus, ErrorCode, ErrorMessage, Details

若存在Failed状态的记录,根据错误信息调整配置(比如字段类型不匹配则修改表列类型)。

4. 确认数据源与Ingestion策略配置

  • 检查ADX的Event Hub数据源是否正确关联目标Event Hub(连接字符串、Event Hub名称需完全匹配)
  • 确认test表的ingestion策略已启用,且无过滤规则导致数据被丢弃:
    .show table test ingestion policy
    
    若策略异常,重新创建或更新策略:
    .alter table test policy ingestion @'{"IsEnabled": true, "StreamingIngestion": true}'
    

5. 规范发送的数据格式

建议显式将数据序列化为JSON字符串,避免客户端自动序列化带来的格式差异:
修改TypeScript代码中的发送逻辑:

batch.tryAdd({body: JSON.stringify(data)});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:02:11