Azure Data Factory的data flow使用Rest API作数据源及429错误解决
问题答复
错误原因
HTTP 429状态码本质是服务端请求频率限流,你使用的https://dummy.restapiexample.com/api/v1/employees是公开测试接口,本身有非常严格的请求频次限制,ADF Data Flow的Debug模式会多次发起请求校验数据结构、拉取预览数据,很容易直接触发该接口的限流规则,该错误和你配置Rest数据源的操作逻辑无关。
操作正确性确认
你将Rest类型数据集直接作为Data Flow源的操作完全正确,不需要额外创建Azure Data Lake存储中间结果,ADF Data Flow原生支持直接从Rest数据源拉取数据执行转换,完全符合你的需求。
修复及正确操作步骤
- 调整Rest链接服务的重试配置:打开
EmployeeRestService链接服务的设置页,配置最大重试次数为4次,重试间隔为12秒,降低限流后的请求失败概率。 - 优化Rest数据集配置:打开
EmployeeApiDataset的设置,关闭分页选项,该测试接口单次即可返回全量员工数据,开启分页会额外发起无效请求增加限流风险。 - 调整Data Flow Debug参数:将Data Flow Debug的采样行数调整为20行以内,减少单次预览请求的资源消耗,降低触发限流的概率。如果触发限流后暂时无法访问,等待10分钟后再重试即可,该测试接口的限流周期通常为几分钟。
- 后续流程配置:正常预览到数据后,直接在Data Flow中添加你需要的字段选择、多表关联等转换操作,最后Sink节点选择你创建的Azure SQL
EmployeeTable数据集即可完成全链路配置,不需要额外中间存储。
内容的提问来源于stack exchange,提问作者Glenn singh
相关产品推荐
相关产品推荐

