在 Azure 数据工厂中创建共享自承载集成运行时

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用

本指南介绍如何在 Azure 数据工厂中创建共享自承载集成运行时。 然后可在另一个数据工厂中使用共享自托管集成运行时。

在 Azure 数据工厂中创建共享自承载集成运行时

可以重复使用已在数据工厂中设置的现有自承载集成运行时基础结构。 这种重复使用可以通过引用现有的共享自承载 IR,在不同的数据工厂中创建链接的自承载集成运行时。

术语

  • 共享 IR:在物理基础结构上运行的原始自承载 IR。
  • 链接 IR:引用另一个共享 IR 的 IR。 链接的 IR 是一个逻辑 IR,它使用另一个共享自承载 IR 的基础结构。

使用 Azure 数据工厂 UI 创建共享自承载 IR

若要使用 Azure 数据工厂 UI 创建共享自承载 IR,可以执行以下步骤:

  1. 在要共享的自承载 IR 中,选择“向另一个数据工厂授予权限”,然后在“集成运行时设置”页中,选择要在其中创建链接 IR 的数据工厂。

    Button for granting permission on the Sharing tab

  2. 记下并复制上面要共享的自承载 IR 的“资源 ID”。

  3. 在已授予权限的数据工厂中,创建新的自承载 IR(链接),并输入资源 ID。

    Button for creating a self-hosted integration runtime

    Button for creating a linked self-hosted integration runtime

    Boxes for name and resource ID

使用 Azure PowerShell 创建共享自承载 IR

若要使用 Azure PowerShell 创建共享自承载 IR,可以执行以下步骤:

  1. 创建数据工厂。
  2. 创建自我托管的集成运行时。
  3. 与其他数据工厂共享自承载集成运行时。
  4. 创建链接的集成运行时。
  5. 撤消共享。

先决条件

注意

建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

注意

若要查看目前提供数据工厂的 Azure 区域列表,请选择你感兴趣的区域:可用产品(按区域)

创建数据工厂

  1. 启动 Windows PowerShell 集成脚本环境 (ISE)。

  2. 创建变量。 复制并粘贴以下脚本。 将变量(例如 SubscriptionNameResourceGroupName)替换为实际值:

    # If input contains a PSH special character, e.g. "$", precede it with the escape character "`" like "`$". 
    $SubscriptionName = "[Azure subscription name]" 
    $ResourceGroupName = "[Azure resource group name]" 
    $DataFactoryLocation = "ChinaEast2" 
    
    # Shared Self-hosted integration runtime information. This is a Data Factory compute resource for running any activities 
    # Data factory name. Must be globally unique 
    $SharedDataFactoryName = "[Shared Data factory name]" 
    $SharedIntegrationRuntimeName = "[Shared Integration Runtime Name]" 
    $SharedIntegrationRuntimeDescription = "[Description for Shared Integration Runtime]"
    
    # Linked integration runtime information. This is a Data Factory compute resource for running any activities
    # Data factory name. Must be globally unique
    $LinkedDataFactoryName = "[Linked Data factory name]"
    $LinkedIntegrationRuntimeName = "[Linked Integration Runtime Name]"
    $LinkedIntegrationRuntimeDescription = "[Description for Linked Integration Runtime]"
    
  3. 登录并选择一个订阅。 在脚本中添加以下代码,以登录并选择 Azure 订阅:

    Connect-AzAccount -Environment AzureChinaCloud
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  4. 创建资源组和数据工厂。

    注意

    此步骤是可选的。 若已有数据工厂,请跳过此步骤。

    使用 New-AzResourceGroup 命令创建 Azure 资源组。 资源组是在其中以组的形式部署和管理 Azure 资源的逻辑容器。 以下示例在 ChinaEast2 位置创建名为 myResourceGroup 的资源组:

    New-AzResourceGroup -Location $DataFactoryLocation -Name $ResourceGroupName
    

    运行以下命令以创建数据工厂:

    Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
                             -Location $DataFactoryLocation `
                             -Name $SharedDataFactoryName
    

创建自承载 Integration Runtime

注意

此步骤是可选的。 若已经拥有要与其他数据工厂共享的自承载集成运行时,请跳过此步骤。

运行以下命令以创建自承载集成运行时:

$SharedIR = Set-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName `
    -Type SelfHosted `
    -Description $SharedIntegrationRuntimeDescription

获取集成运行时身份验证密钥并注册节点

运行以下命令以获取自承载集成运行时的身份验证密钥:

Get-AzDataFactoryV2IntegrationRuntimeKey `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName

响应包含此自承载集成运行时的身份验证密钥。 注册集成运行时节点时使用此密钥。

安装并注册自承载集成运行时

  1. Azure 数据工厂集成运行时下载自承载集成运行时安装程序。

  2. 运行安装程序以在本地计算机上安装自承载集成。

  3. 使用你在上一步中检索的身份验证密钥注册新的自承载集成。

与另一个数据工厂共享自承载集成运行时

创建另一个数据工厂

注意

此步骤是可选的。 若已拥有要共享的数据工厂,请跳过此步骤。 但若要向/从其他数据工厂添加或删除角色分配,你必须具有 Microsoft.Authorization/roleAssignments/writeMicrosoft.Authorization/roleAssignments/delete 权限,例如用户访问管理员所有者

$factory = Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
    -Location $DataFactoryLocation `
    -Name $LinkedDataFactoryName

授予权限

向需要访问你创建和注册的自承载集成运行时的数据工厂授予权限。

重要

请勿跳过此步骤!

New-AzRoleAssignment `
    -ObjectId $factory.Identity.PrincipalId ` #MSI of the Data Factory with which it needs to be shared
    -RoleDefinitionName 'Contributor' `
    -Scope $SharedIR.Id

创建链接的自承载集成运行时

运行以下命令以创建链接的自承载集成运行时:

Set-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $LinkedDataFactoryName `
    -Name $LinkedIntegrationRuntimeName `
    -Type SelfHosted `
    -SharedIntegrationRuntimeResourceId $SharedIR.Id `
    -Description $LinkedIntegrationRuntimeDescription

现可在任何链接服务中使用此链接的集成运行时。 链接的集成运行时使用共享集成运行时来运行活动。

撤消数据工厂中的集成运行时共享

若要从共享集成运行时中撤销数据工厂的访问权限,请运行以下命令:

Remove-AzRoleAssignment `
    -ObjectId $factory.Identity.PrincipalId `
    -RoleDefinitionName 'Contributor' `
    -Scope $SharedIR.Id

若要删除现有的链接集成运行时,请对共享集成运行时运行以下命令:

Remove-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName `
    -LinkedDataFactoryName $LinkedDataFactoryName

监视

共享 IR

Selections to find a shared integration runtime

Monitor a shared integration runtime

链接 IR

Selections to find a linked integration runtime

Monitor a linked integration runtime

自承载 IR 共享的已知限制

  • 要在其中创建链接 IR 的数据工厂必须有一个托管标识。 默认情况下,在 Azure 门户或 PowerShell cmdlet 中创建的数据工厂已隐式创建了托管标识。 但是,如果数据工厂是通过 Azure 资源管理器模板或 SDK 创建的,则必须显式设置 Identity 属性。 此设置确保资源管理器创建包含托管标识的数据工厂。

  • 支持此功能的数据工厂 .NET SDK 必须是 1.1.0 或更高版本。

  • 若要授予权限,需要在共享 IR 所在的数据工厂中拥有“所有者”角色或继承的“所有者”角色。

  • 共享功能仅适用于同一 Microsoft Entra 租户中的数据工厂。

  • 对于 Microsoft Entra ID 来宾用户,UI 中的搜索功能(通过使用搜索关键字列出所有数据工厂)不起作用。 但只要来宾用户是数据工厂的所有者,你就可以在不使用搜索功能的情况下共享 IR。 对于需要共享 IR 的数据工厂的托管标识,请在“分配权限”框中输入该托管标识,然后在数据工厂 UI 中选择“添加”。

    注意

    此功能只能在数据工厂 V2 中使用。