在 Azure 数据工厂中创建共享自承载集成运行时
适用于:Azure 数据工厂 Azure Synapse Analytics
本指南介绍如何在 Azure 数据工厂中创建共享自承载集成运行时。 然后可在另一个数据工厂中使用共享自托管集成运行时。
注意
在更多数据工厂之间共享自承载集成运行时的时候,工作负载增加有时可能会导致延长排队时间。 如果排队时间过长,可以通过添加其他节点来纵向扩展节点或横向扩展。 最多可以添加 4 个节点。
在 Azure 数据工厂中创建共享自承载集成运行时
可以重复使用已在数据工厂中设置的现有自承载集成运行时基础结构。 这种重复使用可以通过引用现有的共享自承载 IR,在不同的数据工厂中创建链接的自承载集成运行时。
术语
- 共享 IR:在物理基础结构上运行的原始自承载 IR。
- 链接 IR:引用另一个共享 IR 的 IR。 链接的 IR 是一个逻辑 IR,它使用另一个共享自承载 IR 的基础结构。
使用 Azure 数据工厂 UI 创建共享自承载 IR
若要使用 Azure 数据工厂 UI 创建共享自承载 IR,可以执行以下步骤:
在要共享的自承载 IR 中,选择“向另一个数据工厂授予权限”,然后在“集成运行时设置”页中,选择要在其中创建链接 IR 的数据工厂。
记下并复制上面要共享的自承载 IR 的“资源 ID”。
在已授予权限的数据工厂中,创建新的自承载 IR(链接),并输入资源 ID。
使用 Azure PowerShell 创建共享自承载 IR
若要使用 Azure PowerShell 创建共享自承载 IR,可以执行以下步骤:
- 创建数据工厂。
- 创建自我托管的集成运行时。
- 与其他数据工厂共享自承载集成运行时。
- 创建链接的集成运行时。
- 撤消共享。
先决条件
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
Azure 订阅。 如果没有 Azure 订阅,请在开始前创建一个试用帐户。
Azure PowerShell。 请遵循使用 PowerShellGet 在 Windows 上安装 Azure PowerShell 中的说明。 可使用 PowerShell 运行脚本来创建可与其他数据工厂共享的自承载集成运行时。
注意
若要查看目前提供数据工厂的 Azure 区域列表,请选择你感兴趣的区域:可用产品(按区域)。
创建数据工厂
启动 Windows PowerShell 集成脚本环境 (ISE)。
创建变量。 复制并粘贴以下脚本。 将变量(例如 SubscriptionName 和 ResourceGroupName)替换为实际值:
# 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]"
登录并选择一个订阅。 在脚本中添加以下代码,以登录并选择 Azure 订阅:
Connect-AzAccount -Environment AzureChinaCloud Select-AzSubscription -SubscriptionName $SubscriptionName
创建资源组和数据工厂。
注意
此步骤是可选的。 若已有数据工厂,请跳过此步骤。
使用 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
响应包含此自承载集成运行时的身份验证密钥。 注册集成运行时节点时使用此密钥。
安装并注册自承载集成运行时
从 Azure 数据工厂集成运行时下载自承载集成运行时安装程序。
运行安装程序以在本地计算机上安装自承载集成。
使用你在上一步中检索的身份验证密钥注册新的自承载集成。
与另一个数据工厂共享自承载集成运行时
创建另一个数据工厂
注意
此步骤是可选的。 若已拥有要共享的数据工厂,请跳过此步骤。 但若要向/从其他数据工厂添加或删除角色分配,你必须具有 Microsoft.Authorization/roleAssignments/write
和 Microsoft.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
链接 IR
自承载 IR 共享的已知限制
要在其中创建链接 IR 的数据工厂必须有一个托管标识。 默认情况下,在 Azure 门户或 PowerShell cmdlet 中创建的数据工厂已隐式创建了托管标识。 但是,如果数据工厂是通过 Azure 资源管理器模板或 SDK 创建的,则必须显式设置 Identity 属性。 此设置确保资源管理器创建包含托管标识的数据工厂。
支持此功能的数据工厂 .NET SDK 必须是 1.1.0 或更高版本。
若要授予权限,需要在共享 IR 所在的数据工厂中拥有“所有者”角色或继承的“所有者”角色。
共享功能仅适用于同一 Microsoft Entra 租户中的数据工厂。
对于 Microsoft Entra ID 来宾用户,UI 中的搜索功能(通过使用搜索关键字列出所有数据工厂)不起作用。 但只要来宾用户是数据工厂的所有者,你就可以在不使用搜索功能的情况下共享 IR。 对于需要共享 IR 的数据工厂的托管标识,请在“分配权限”框中输入该托管标识,然后在数据工厂 UI 中选择“添加”。
注意
此功能只能在数据工厂 V2 中使用。