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

如何在Azure Data Factory中解压.7z格式文件?

在Azure Data Factory中解压.7z格式文件的方案

ADF原生确实不支持.7z格式的解压,你可以通过以下几种方式实现需求:

方法1:借助Azure Function处理

  • 先用ADF的复制活动将网络位置的.7z文件下载到Blob存储指定容器。
  • 创建Azure Function(推荐用Python或C#):
    • 引入支持7z解压的库:Python用py7zr,C#用SevenZipSharp。
    • 编写函数逻辑:读取Blob存储中的.7z文件,解压后将文件写入目标Blob容器。
  • 在ADF中添加Azure Function活动,配置函数的触发参数(如源Blob路径、目标Blob路径),完成解压流程的串联。

方法2:结合Azure Batch批量处理

  • 确保.7z文件已存入Blob存储。
  • 在Azure Batch中创建池,池中的节点提前安装7z工具(可通过启动任务自动安装)。
  • 在ADF中添加Azure Batch活动,指定Batch作业的命令行(例如7z x https://<存储账户>.blob.core.windows.net/<容器>/file.7z -ohttps://<存储账户>.blob.core.windows.net/<输出容器>/,或挂载Blob后用本地路径执行),触发批量解压任务。

方法3:使用自托管集成运行时(Self-hosted IR)执行命令行

  • 部署自托管IR到一台本地或虚拟机,在该机器上安装7z工具,并确保IR服务账户有7z的执行权限。
  • 在ADF中创建自定义活动,选择自托管IR作为运行环境,配置命令行任务:
    7z x "<源Blob挂载路径或通过AzCopy下载到本地的文件路径>" -o"<解压后文件的输出路径(可挂载到目标Blob)>"
    
    也可以结合AzCopy命令,先将Blob中的.7z文件下载到IR本地临时目录,解压后再上传回目标Blob容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:14:50