Azure ADF中HTTP文本用户ID列表的后续处理方案问询
Azure ADF实现步骤方案
一、将文本格式的用户ID列表导入SQL表
- 创建HTTP源数据集
- 类型选HTTP,设置请求URL为
myapi/users,请求方法GET。 - 格式设置为文本格式,分隔符选择
\n(换行符),勾选「跳过首行」(因为返回的第一行是USERID表头)。
- 类型选HTTP,设置请求URL为
- 创建SQL目标数据集
- 连接到目标SQL数据库,创建一张仅含
USERID列的表(列类型根据ID实际情况选INT或VARCHAR)。
- 连接到目标SQL数据库,创建一张仅含
- 添加复制活动
- 源选刚才的HTTP数据集,sink选SQL数据集,字段映射直接将源的第一列映射到SQL表的
USERID列,运行活动完成ID导入。
- 源选刚才的HTTP数据集,sink选SQL数据集,字段映射直接将源的第一列映射到SQL表的
二、遍历USERID调用详情API并写入SQL表
- 添加Lookup活动
- 数据源选刚才存储USERID的SQL表,查询语句用
SELECT USERID FROM [你的用户ID表名],获取所有ID的列表。
- 数据源选刚才存储USERID的SQL表,查询语句用
- 添加ForEach活动
- 设置
Items为@activity('Lookup UserIDs').output.value,如需控制API并发可开启「Sequential」(串行执行),默认并行。 - ForEach内部添加以下活动:
- Web活动:请求URL设为
myapi/users/@{item().USERID},请求方法GET,确保返回JSON格式的用户详情。 - 复制活动:源选「Web活动输出」,格式设为JSON;sink选目标SQL表(需提前创建包含
USERID、FIRST NAME、TYPENO的表),字段映射对应Web返回的JSON字段到SQL列。
- Web活动:请求URL设为
- 设置
关键注意事项
- 如果API需要认证(比如API Key、OAuth),要在HTTP/Web数据集的「认证」选项卡配置对应信息。
- 若用户ID数量较大,可在ForEach中设置「Batch count」控制并发数,避免触发API限流。
- 测试时先手动调用
myapi/users/{userid}确认返回的JSON结构,确保复制活动的字段映射准确。
内容的提问来源于stack exchange,提问作者bambi47
相关产品推荐
相关产品推荐

