如何使用 PowerShell 创建具有托管虚拟网络的集成运行时

How to create a Integration Runtime with Managed Virtual Network using PowerShell

我想创建一个带有托管虚拟网络的 Azure 托管集成运行时。 我可以使用 ADF 界面创建它,但我想编写脚本。

这是我正在使用的代码。

Set-AzDataFactoryV2IntegrationRuntime -Name $adfIntegrationRuntimeName `
-ResourceGroupName $adf.ResourceGroupName `
-DataFactoryName $adf.DataFactoryName `
-Type Managed `
-Description $adfIntegrationRuntimeDescription `
-Location $adf.Location `
-DataFlowTimeToLive 10 `
-DataFlowComputeType General `
-DataFlowCoreCount 8

这是使用 UI:

的结果

这是使用 PowerShell 代码的结果:

您是否知道使用 PowerShell 提供子类型为“托管虚拟网络”的 Azure 上托管的 IR 的方法?

正如您在 Azure 门户 UI 中看到的那样,此配置只是预览版,直接在 powershell 中的命令 Set-AzDataFactoryV2IntegrationRuntime to configure this, if you want to configure this via powershell, you can call the REST API - Integration Runtimes - Create Or Update 中没有内置参数。

样本:

$adfIntegrationRuntimeName = "test1"
$adfIntegrationRuntimeDescription = "123"
$ResourceGroupName = "xxxx"
$ADFname = "joyfactory"
$adf = Get-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName -Name $ADFname
$path = $adf.DataFactoryId + "/integrationruntimes/" + $adfIntegrationRuntimeName + "?api-version=2018-06-01"

$payload = @{
    "name" = $adfIntegrationRuntimeName
    "properties" = @{
        "type" = "Managed"
        "description" = $adfIntegrationRuntimeDescription
        "typeProperties" = @{
            "computeProperties" = @{
                "location" = $adf.Location
                "dataFlowProperties" = @{
                    "computeType" = "General"
                    "coreCount" = 8
                    "timeToLive" =  10
                }
            }
        }
        "managedVirtualNetwork" = @{
            "type" = "ManagedVirtualNetworkReference"
            "referenceName" = "default"
        }
    }
} | ConvertTo-Json -Depth 10

Invoke-AzRestMethod -Path $path -Method PUT -Payload $payload

注意:下面的选项不会映射到Code,所以如果要启用它,还需要运行命令在上面的命令之后。

$path2 = $adf.DataFactoryId + "/integrationruntimes/" + $adfIntegrationRuntimeName + "/enableInteractiveQuery" + "?api-version=2018-06-01"
Invoke-AzRestMethod -Path $path2 -Method POST -Payload '{"autoTerminationMinutes":60}'

检查门户中的结果,它工作正常。