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

如何批量导出Data Factory管道及文件夹结构以备份?

批量导出Azure Data Factory管道及文件夹结构的方法

方法1:使用Azure CLI批量导出

可以通过Azure CLI快速导出整个Data Factory的所有管道,或指定文件夹下的管道,同时保留原有结构:

  • 先登录Azure账号:
    az login
    
  • 切换到目标订阅:
    az account set --subscription <你的订阅ID>
    
  • 导出整个Data Factory的所有资源(包括管道、文件夹结构、数据集等)到本地目录:
    az datafactory export --resource-group <资源组名称> --factory-name <Data Factory名称> --output-folder <本地输出目录路径>
    
    如果只想导出指定文件夹下的管道,可添加--filter参数筛选路径:
    az datafactory export --resource-group <资源组名称> --factory-name <Data Factory名称> --output-folder <本地输出目录路径> --filter "contains(name, '<目标文件夹路径>')"
    
    导出后的文件会自动按Data Factory内的文件夹结构在本地生成对应目录。

方法2:PowerShell脚本自定义导出(精准控制结构)

如果需要更灵活的控制(比如只导出管道,排除其他资源),可以用PowerShell脚本遍历文件夹结构并导出:

# 配置参数
$resourceGroupName = "<资源组名称>"
$dataFactoryName = "<Data Factory名称>"
$localOutputPath = "<本地输出根目录>"

# 获取所有管道
$pipelines = Get-AzDataFactoryV2Pipeline -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName

foreach ($pipeline in $pipelines) {
    # 提取管道的文件夹路径(如果有)
    $folderPath = $pipeline.Properties.Folder?.Name
    $localFolder = if ($folderPath) { Join-Path $localOutputPath $folderPath } else { $localOutputPath }
    
    # 创建本地文件夹(如果不存在)
    if (-not (Test-Path $localFolder)) {
        New-Item -ItemType Directory -Path $localFolder | Out-Null
    }
    
    # 导出管道JSON到对应目录
    $outputFile = Join-Path $localFolder "$($pipeline.Name).json"
    $pipeline | ConvertTo-Json -Depth 100 | Out-File $outputFile -Encoding UTF8
}

这个脚本会自动识别管道所在的文件夹,在本地生成相同的目录结构,并将每个管道导出为单独的JSON文件。

方法3:导出ARM模板作为完整备份

如果需要备份整个Data Factory的所有配置(包括管道、链接服务、触发器、数据集等),可以导出ARM模板:

  • 登录Azure门户,进入目标Data Factory
  • 在左侧菜单选择「ARM模板」>「导出模板」
  • 选择要导出的资源(可勾选所有管道或指定文件夹下的资源),点击「下载」
  • 下载的压缩包包含完整的ARM模板文件,解压后可看到按资源类型组织的结构,也能对应到原文件夹层级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:13:11