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

Azure Pipeline技术求助:下载NHTSA ZIP并转TXT文件遇错误

解决Azure Data Factory处理NHTSA ZIP文件的问题

一、排查ZIP文件下载后缺失的问题

  • 检查Blob存储路径:确认复制数据活动的Blob接收器路径是否正确,可在Azure存储资源管理器中全局搜索FLAT_CMPL.zip定位文件。
  • 验证源URL有效性:直接访问你配置的HTTP链接(注意你写的是static.nhs.gov,但NHTSA官方域名应为nhtsa.gov,大概率是笔误),确认能否正常下载ZIP文件。若链接无效,复制活动会显示成功但无数据写入。
  • 查看活动运行日志:在Data Factory管道运行详情中,检查该复制活动的输入输出字节数。若字节数为0,说明源文件未拉取到,需排查HTTP源配置(如是否需要代理、请求头设置)。

二、解决ZIP转文本的if there's a binary source, the sink must be binary also错误

该错误因直接将二进制ZIP作为源复制到文本接收器导致,Data Factory不支持此类直接转换,需按以下流程处理:

方案1:使用解压活动+复制数据活动

  1. 添加「解压」活动
    • 源:选择Blob存储中的ZIP文件,源类型设为Binary,指定文件路径。
    • 目标:选择Blob存储内的一个文件夹作为解压后文件的存放路径,目标类型设为Binary。
    • 配置:按需勾选「递归」(若ZIP含嵌套文件夹),其余保持默认。
  2. 添加「复制数据」活动
    • 源:选择解压后的文本文件,源类型设为DelimitedText,配置对应分隔符、编码、表头规则等。
    • 接收器:选择Blob存储目标文件夹,接收器类型设为DelimitedText,配置输出分隔符与文件名。

方案2:单复制数据活动直接处理

无需额外解压活动,可在第一个复制数据活动中集成解压逻辑:

  • 源:HTTP源类型设为Binary,在「压缩」设置中选择Zip,指定ZIP内要提取的目标文件名(若ZIP仅含单个文本文件)。
  • 接收器:直接设为DelimitedText,配置对应格式参数,一步完成下载、解压、格式转换。

额外注意事项

  • 提前确认ZIP内文本文件的分隔符类型(逗号、制表符等),避免复制活动格式配置错误。
  • 确保Data Factory托管标识对Blob存储容器拥有读写权限,防止文件读写失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:56:05