自承载集成运行时自动更新和过期通知

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

提示

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

本文介绍如何让自承载集成运行时自动更新到最新版本,还介绍了 Azure 数据工厂 (ADF) 如何管理自承载集成运行时的版本。

如何检查自承载集成运行时版本

可以在自承载集成运行时客户端或 ADF 门户中检查版本:

显示自承载集成运行时客户端中的版本的屏幕截图。

显示 Azure 数据工厂门户中的版本的屏幕截图。

自承载集成运行时自动更新

通常,在本地计算机或 Azure 虚拟机中安装自承载集成运行时时,可以通过两个选项来管理自承载集成运行时的版本:自动更新或手动维护。 通常,ADF 每月都会发布两个新版本的自承载集成运行时,其中包括新功能版、bug 修复或增强功能。 因此,建议用户更新到最新版本。

最方便的方法是在创建或编辑自承载集成运行时时启用自动更新。 自承载集成运行时会自动更新到较新版本。 还可以根据需要在最合适的时间段计划更新。

启用自动更新

可以在自承载集成运行时客户端中检查上次更新日期/时间。

检查更新时间的屏幕截图

你可以使用此 PowerShell 命令来获取自动更新版本。

注意

如果你有多个自承载集成运行时节点,则自动更新期间不会停机。 自动更新先在一个节点中进行,与此同时,其他节点可以处理任务。 当第一个节点完成更新时,它会接管其他节点正在更新的剩余任务。 如果你只有一个自承载集成运行时,则自动更新期间会停机一段时间。

自动更新版本与最新版本

为了确保自承载集成运行时的稳定性,尽管我们会发布两个版本,但每月只会推送一个版本。 因此,有时你会发现,自动更新的版本就是实际最新版本的前一版本。 如果要获取最新版本,可以到下载中心手动下载。 此外,对新版本的自动更新是在内部进行管理。 你无法更改此项。

如果当前版本较旧,ADF 门户中自承载集成运行时的“自动更新”页将显示较新版本。 当自承载集成运行时联机时,此版本将成为自动更新版本,并且会按计划的时间自动更新自承载集成运行时。 但是,如果自承载集成运行时已脱机,则该页只会显示最新版本。

如果有多个节点,并且由于某种原因,其中一些节点未成功自动更新。 然后这些节点会回滚到自动更新之前所有节点一致具有的版本。

自承载集成运行时过期通知

如果要手动控制自承载集成运行时的版本,则可以禁用自动更新设置并进行手动安装。 自承载集成运行时的每个版本都会在一年后过期。 ADF 门户和自承载集成运行时客户端会在过期前 90 天内显示过期消息

警告

如果自承载集成运行时过期,它将显示脱机状态,不再正常工作。

收到过期通知时,可以使用以下 PowerShell 命令查找环境中所有已过期和即将过期的自承载集成运行时。 然后,可以对其进行相应的升级。

$upperVersion = "<expiring version>" # the format is [major].[minor]. For example: 5.25
$subscription = "<subscription id>"
 
az login
az account set --subscription "$subscription"
 
$factories = az datafactory list | ConvertFrom-Json
 
$results = @();
for ($i = 0; $i -lt $factories.Count; $i++) {
    $factory = $factories[$i]
    Write-Progress -Activity "Checking data factory '$($factory.name)'" -PercentComplete $($i * 100.0 / $factories.Count)
    $shirs = az datafactory integration-runtime list --factory-name $factory.name --resource-group $factory.resourceGroup | ConvertFrom-Json | Where-Object {$_.properties.type -eq "SelfHosted"}
    for ($j = 0; $j -lt $shirs.Count; $j++) {
        $shir = $shirs[$j]
        Write-Progress -Activity "Checking data factory '$($factory.name)', checking integration runtime '$($shir.name)'" -PercentComplete $($i * 100.0 / $factories.Count + (100.0 * $j / ($factories.Count * $shirs.Count)))
        $status = az datafactory integration-runtime get-status --factory-name $factory.name --resource-group $factory.resourceGroup --integration-runtime-name $shir.name | ConvertFrom-Json
        $shirVersion = $status.properties.version
        $result = @{
            subscription = $subscription
            resourceGroup = $factory.resourceGroup
            factory = $factory.name
            integrationRuntime = $shir.name
            integrationRuntimeVersion = $shirVersion
            expiring_or_expired = (-not [string]::IsNullOrWhiteSpace($shirVersion) -and ((([Version]$shirVersion) -lt ([Version]"$($upperVersion).0.0")) -or $shirVersion.StartsWith("$($upperVersion).")))
        }
        $result | Format-Table -AutoSize
        $results += [PSCustomObject]$result
    }
}
 
Write-Host "Expiring or expired Self-Hosted Integration Runtime includes: "
$results | Where-Object {$_.expiring_or_expired -eq $true} | Select-Object -Property subscription,resourceGroup,factory,integrationRuntime,integrationRuntimeVersion | Format-Table -AutoSize