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

如何在Azure Data Factory中将API字典数据转为指定表结构

解决Azure Data Factory中API返回对象转行列结构并过滤上月数据的方案

步骤1:通过数据流动读取API返回的对象数据

创建新的数据流动,添加Web源组件,配置与Web活动一致的API请求参数,直接获取返回的JSON对象数据。

步骤2:将JSON对象转换为行式结构

在数据流动中依次添加两个处理活动:

  1. 派生列活动:新增一列(如命名为KeyValuePairs),使用表达式 entries(源数据)。该函数会把JSON对象转换为数组,每个元素包含key(对应原对象的数字键)和value(对应日期值),示例输出:
    [{"key":"96","value":"29/09/2022"},{"key":"95","value":"31/08/2022"},{"key":"93","value":"31/07/2022"}]
    
  2. 扁平化活动:将KeyValuePairs数组设为展开列,展开后生成每行对应一组key和value的行式数据。

步骤3:过滤上月对应的记录

添加过滤活动,设置筛选条件:

  • 先将value列转换为日期类型,再匹配上月的年份和月份:
    year(toDate(value, 'dd/MM/yyyy')) == year(addMonths(currentDate(), -1)) && month(toDate(value, 'dd/MM/yyyy')) == month(addMonths(currentDate(), -1))
    
    注:currentDate()获取当前日期,addMonths(..., -1)得到上月日期,通过匹配年月确保筛选的是上月数据。

步骤4:写入目标表

添加接收器活动,配置目标数据库表:

  • 映射key列为ID、转换后的日期列为Date,直接写入即可生成ID和Date两列的行式结构数据。

替代方案(无需数据流动)

如果偏好使用活动组合而非数据流动,可按以下流程操作:

  1. Web活动调用API获取JSON对象,将输出存入活动变量。
  2. Azure函数活动:编写轻量的Python/Node.js函数,接收JSON对象并转换为[{"ID":"96","Date":"29/09/2022"},...]格式的数组,同时完成上月数据过滤。
  3. 复制数据活动:将Azure函数返回的数组作为源,映射列后写入目标表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:45:40