使用 PowerShell 将 Azure 数据工厂管道升级到 Microsoft Fabric

小窍门

您对迁移选项不熟悉吗? 从 Microsoft Fabric 迁移概述 开始,了解完整布局和 ADF 到 Fabric 迁移指南。 网络结构迁移指南

可以使用 Microsoft.FabricPipelineUpgrade PowerShell 模块将 Azure 数据工厂(ADF)管道迁移到 Microsoft Fabric。 本指南概述了执行迁移的所有步骤。 有关包含屏幕截图、示例和故障排除的详细教程,请参阅 PowerShell 迁移教程

若要使用 PowerShell 将 ADF 管道迁移到 Fabric,请执行以下作:

  1. 为 Fabric 管道升级准备环境。
  2. 将 PowerShell 连接到 Azure 和 Fabric 环境。
  3. 升级工厂管道。
  4. 创建解析文件并将链接服务映射到 Fabric 连接器。
  5. 验证结果。

先决条件

若要开始,必须满足以下先决条件:

支持的功能

除了当前支持的数据集和链接服务和当前支持的活动外,还适用以下限制:

当前支持的数据集和链接服务

  • Blob:JSON、带分隔符的文本和二进制格式
  • Azure SQL 数据库
  • ADLS Gen2:JSON、带分隔符的文本和二进制格式
  • Azure 函数:函数应用 URL

当前支持的活动

  • CopyActivity用于支持的数据集
  • ExecutePipeline (转换为 Fabric InvokePipeline 活动)
  • IfCondition
  • Wait
  • Web
  • SetVariable
  • Azure 函数
  • ForEach
  • 查找
  • 开关
  • SQL Server存储过程

为 Fabric 流程升级准备环境

在开始升级管道之前, 请验证 环境是否具有所需的工具和模块:

安装 PowerShell 7.4.2 (x64) 或更高版本

计算机上需要 PowerShell 7.4.2 或更高版本。

下载 PowerShell

安装和导入 FabricPipelineUpgrade 模块

  1. 打开 PowerShell 7 (x64)。

  2. 选择“开始”菜单,搜索 PowerShell 7,打开应用的上下文菜单,然后选择“ 以管理员身份运行”。

    PowerShell 图标的屏幕截图。

  3. 在具有提升权限的 PowerShell 窗口中,从 PowerShell Gallery 库安装模块:

    Install-Module Microsoft.FabricPipelineUpgrade -Repository PSGallery -SkipPublisherCheck
    
  4. 将模块导入会话:

    Import-Module Microsoft.FabricPipelineUpgrade
    
  5. 如果看到签名或执行策略错误,请运行以下命令,然后再次导入模块:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    

验证安装

运行以下命令以确认模块已正确加载:

Get-Command -Module Microsoft.FabricPipelineUpgrade

模块命令输出的屏幕截图。

将 PowerShell 连接到 Azure 和 Fabric 环境

在 PowerShell 中运行以下命令,为后续 Az cmdlet 登录并设置订阅和租户:

Add-AzAccount
Select-AzSubscription -SubscriptionId <your subscription ID>

运行以下命令以获取 ADF 和 Fabric 的访问令牌:

$adfSecureToken = (Get-AzAccessToken -ResourceUrl "https://management.azure.com/").Token
$fabricSecureToken = (Get-AzAccessToken -ResourceUrl "https://analysis.windows.net/powerbi/api").Token

小窍门

访问令牌在大约一小时后过期。 发生这种情况时,请再次运行该命令。 如果 Export-FabricResources 返回令牌过期错误,你将知道令牌已过期。

升级工厂资源

首先, 导入 Azure 数据工厂管道,然后将 ADF 链接服务映射到 Fabric 连接,最后 升级管道

导入 Azure 数据工厂管道

以下 PowerShell 脚本将导入您的数据工厂资源。 在第一次出现|之前,更新 Import-AdfFactory 命令,以便导入ADF中的所有受支持的资源单个管道

Import-AdfFactory -SubscriptionId <your subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Factory Name> -PipelineName <your Pipeline Name> -AdfToken $adfSecureToken| ConvertTo-FabricResources | Export-FabricResources -Region <region> -Workspace <workspaceId> -Token $fabricSecureToken

小窍门

区域参数是可选的。 如果 Fabric 工作区与 ADF 位于同一区域,则可以使用该区域或跳过 -Region 参数。

导入所有工厂资源

Import-AdfFactory -SubscriptionId <your subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Factory Name> -AdfToken $adfSecureToken

导入单个管道

它是用来导入所有工厂资源的相同命令,但要添加参数 -PipelineName:

Import-AdfFactory -SubscriptionId <your subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Factory Name> -PipelineName <your Pipeline Name> -AdfToken $adfSecureToken

将 ADF 链接服务映射到 Fabric 连接

  1. 如果 Fabric 实例尚未连接到 ADF 链接服务中使用的数据源, 请在 Fabric 中创建这些连接
  2. 创建解析文件 ,告知 FabricUpgrader 如何将 ADF 链接服务映射到 Fabric 连接。

创建分辨率文件

解析文件是将 ADF 链接服务映射到 Fabric 连接的 JSON 文件:

[
  {
    "type": "LinkedServiceToConnectionId",
    "key": "<ADF LinkedService Name>",
    "value": "<Fabric Connection ID>"
  }
]

例如,如果有两个名为 MyAzureBlobStorageMySQLServer 的 ADF 链接的服务,并希望将其映射到 Fabric 连接,那么,你的文件应如下所示:

[
  {
    "type": "LinkedServiceToConnectionId",
    "key": "MyAzureBlobStorage",
    "value": "aaaa0000-bb11-2222-33cc-444444dddddd"
  },
  {
    "type": "LinkedServiceToConnectionId",
    "key": "MySQLServer",
    "value": "bbbb1111-cc22-3333-44dd-555555eeeeee"
  }
]

使用此结构创建 Resolutions.json 文件,并将其保存在计算机上的某个位置,以便 PowerShell 可以访问该文件。

有关解析文件的详细信息,请参阅 如何向解析文件添加连接

用于升级管道的 PowerShell 命令

有了解析文件后,可以运行此 PowerShell 命令来执行升级。 更新 ResolutionFilename 参数以指向分辨率文件。 此外,请在第一个|之前更新 Import-AdfFactory 命令,以便导入 ADF 中支持的所有资源,或者仅导入单个管道。

Import-AdfFactory -SubscriptionId <your subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Factory Name> -PipelineName <your Pipeline Name> -AdfToken $adfSecureToken | ConvertTo-FabricResources | Import-FabricResolutions -ResolutionsFilename "<path to your resolutions file>" | Export-FabricResources -Region <region> -Workspace <workspaceId> -Token $fabricSecureToken

小窍门

如果升级失败,PowerShell 将在详细信息部分显示原因。 有关一些示例和故障排除,请参阅 教程

在 Microsoft Fabric 中验证结果

迁移完成后,在 Microsoft Fabric 中打开每个管道,并验证活动、参数和数据集连接。

运行具有安全示例输入的测试,并将输出与源 ADF 的运行进行比较以确认一致性。

修复任何空白(例如, 尚未具有直接 Fabric 等效项的活动)。

分步教程

有关包含屏幕截图、示例和故障排除的详细教程,请参阅 PowerShell 迁移教程