你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
管理运行时环境和关联的 Runbook
本文内容
本文介绍如何创建运行时环境,并通过 Azure 门户和 REST API 执行各种操作。
先决条件
支持的公共区域(印度中部、德国北部、意大利北部、以色列中部、波兰中部、阿联酋中部和政府云除外)中的 Azure 自动化帐户。
在运行时环境和旧体验之间切换
运行时环境体验
选择“概述”,然后选择“试用运行时环境体验” 。
在“流程自动化”下,显示了“运行时环境(预览版)”,而“共享资源”下的“模块”和“Python 包”已被删除,因为运行时环境允许管理 Runbook 执行期间所需的包 。
若要重新使用旧体验来管理模块和包,请在左侧窗格中选择“概述”,然后选择“切换到旧体验” 。
旧体验
转到你的自动化帐户,在“流程自动化”下,“运行时环境(预览版)”已被删除,而在“共享资源”下,可以看到“模块”和“Python 包” 。
注意
runbook 更新在新运行时环境体验和旧体验之间持续存在。 在旧体验中,在与 Runbook 链接的运行时环境中所做的任何更改都将在 Runbook 执行期间予以保留。
管理运行时环境
创建运行时环境
登录到 Azure 门户 并选择你的自动化帐户。
在“流程自动化”下,依次选择“运行时环境(预览版)”、“创建” 。
在“基本信息”中提供以下详细信息 :
运行时环境的名称 。 该名称必须以字母开头,只能包含字母、数字、下划线和短划线。
从“语言”下拉列表中,选择运行时环境的脚本语言 。
选择“PowerShell”作为 PowerShell 脚本语言,或选择“Python”作为 Python 脚本语言 。
选择脚本语言的运行时版本 。
对于 PowerShell - 请选择 5.1、7.2
对于 Python - 请选择 3.8、3.10(预览版)
提供适当的说明 。
选择“下一步”,然后在“包”选项卡中上传 Runbook 执行期间所需的包 。 默认情况下,将为所有 PowerShell 运行时环境上传 Az PowerShell 包,其中包括用于管理 Azure 资源的所有 cmdlet 。 可以从下拉列表中选择 Az 包的版本。 如果你不想在 Runbook 执行期间上传包,请选择“无” 。
注意
在与 PowerShell 7.2 运行时环境关联的 Runbook 中,支持 Azure CLI 命令(预览版)。 Azure CLI 命令版本 2.56.0 可在 PowerShell 7.2 运行时环境中用作默认包。
上传 Runbook 执行期间所需的其他包。 选择“添加文件”以添加存储在计算机本地的文件,或选择“从库中添加”以从 PowerShell 库上传包 。
注意
导入包可能需要几分钟时间。 可导入的文件的最大总大小为 100MB。
如此处 所述,使用 .zip 文件作为 PowerShell Runbook 类型
对于 Python 3.8 包,请使用面向 cp38-amd64 的 .whl 文件。
对于 Python 3.10(预览版)包,请使用面向 cp310 Linux OS 的 .whl 文件。
选择“下一步”,然后在“查看 + 创建”选项卡中验证设置是否正确 。 选择“创建”时,Azure 会针对你选择的运行时环境设置运行验证 。 如果通过了验证,则你可以继续创建运行时环境,否则,门户将指出需要修改的设置。
在“运行时环境(预览版)”页面中,可以查看为自动化帐户新建的运行时环境 。 如果在列表中找不到新建的运行时环境,请选择“刷新” 。
可以使用自动化中的 Az PowerShell 模块为 PowerShell 7.2 创建新的运行时环境
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>?api-version=2023-05-15-preview
{
"properties": {
"runtime": {
"language": "PowerShell",
"version": "7.2"
},
"defaultPackages": {
"Az": "7.3.0"
}
},
"name": "<runtimeEnvironmentName>"
}
将包 Az.Accounts 上传到运行时环境。
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>/packages/Az.Accounts?api-version=2023-05-15-preview
{
"properties": {
"contentLink": {
"uri": "https://psg-prod-eastus.azureedge.net/packages/az.accounts.2.12.4.nupkg"
}
}
}
查看运行时环境
从自动化帐户获取运行时环境属性。
GET
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>?api-version=2023-05-15-preview
列出运行时环境
若要列出自动化帐户中的所有运行时环境,请执行以下操作:
在自动化帐户中的“流程自动化”下,选择“运行时环境(预览版)” 。
GET
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments?api-version=2023-05-15-preview
查看 Az PowerShell 包的组件
若要查看 Az PowerShell 包的所有组件包,请在 PowerShell Runbook 中运行 Get-Module -ListAvailable
cmdlet。
作业输出将显示所有组件包及其版本。
删除运行时环境
若要从自动化帐户中删除运行时环境,请执行以下步骤:
在自动化帐户中的“流程自动化”下,选择“运行时环境(预览版)” 。
选择要删除的运行时环境。
选择“删除”以删除运行时环境 。
DELETE
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>?api-version=2023-05-15-preview
更新运行时环境
运行时语言和运行时版本是不可变属性。 但是,你可以在运行时环境中更新模块版本以及添加或删除包。 链接到运行时环境的 Runbook 将用新设置自动更新。
在自动化帐户中的“流程自动化”下,选择“运行时环境(预览版)” 。
选择要更新的运行时环境。
从下拉列表中选择版本以更新现有包的版本。
选择“保存”。
选择“添加文件”以从本地计算机上传包,或选择“从库中添加”以从 PowerShell 库上传包 。
注意
一次最多可将 10 个包添加到运行时环境。 在添加 10 个包后,请务必选择“保存” 。
更新现有运行时环境的 Az 模块版本:
PATCH
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>?api-version=2023-05-15-preview
{
"properties": {
"defaultPackages": {
"Az": "9.0.0"
}
}
}
管理链接到运行时环境的 Runbook
创建 Runbook
可以创建一个配置了运行时环境的新 PowerShell Runbook。
先决条件
请确保在创建 Runbook 之前已经创建了运行时环境。
若要创建链接到运行时环境的新 Runbook,请执行以下步骤:
在自动化帐户中的“流程自动化”下,选择“Runbook” 。
选择创建 。
在“基本信息”选项卡中,可以创建新的 Runbook,或者从本地计算机或 PowerShell 库上传文件 。
为 Runbook 提供名称 。 该名称必须以字母开头,且只能包含字母、数字、下划线和短划线。
从“Runbook 类型”下拉列表中,选择要创建的 Runbook 的类型 。
选择要为 Runbook 配置的运行时环境 。 可以选择“从现有运行时环境中选择”,也可以选择“创建新的运行时环境并将其链接到 Runbook” 。 将根据步骤 b 中选择的“Runbook 类型”填充运行时环境列表 。
提供适当的说明 。
注意
对于“PowerShell Runbook 类型”,只会列出 PowerShell 运行时环境以供选择 。
对于“Python Runbook 类型”,只会列出 Python 运行时环境以供选择 。
为 Runbook 添加标记,检查设置,然后选择“创建”以创建新的 Runbook 。
此 Runbook 将链接到所选的运行时环境。 所选运行时环境中的所有包在 Runbook 执行期间均可用。
先决条件
配置 PowerShell 运行时环境,并提供它作为输入来创建 Runbook。
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runbooks/<runbookName>?api-version=2023-05-15-preview
{
"properties": {
"runbookType": "PowerShell",
"runtimeEnvironment": <runtimeEnvironmentName>,
"publishContentLink": {
"uri": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1"
}
},
"location": "East US"
}
注意
类似的 API 也适用于 Python Runbook 类型。
更新 Runbook
可以通过更改链接到 Runbook 的运行时环境来更新 Runbook。 可以选择一个或多个 Runbook 进行更新。 处于运行中状态的 Runbook 不会因更改与其链接的运行时环境而受到影响。
在自动化帐户中的“流程自动化”下,选择“Runbook” 。
选中要更新的 Runbook 对应的复选框。
选择“更新” 。
从下拉列表中选择要将 Runbook 链接到的运行时环境。
选择“更新”以使用新的运行时环境更新所选的 Runbook 。
检查 Runbook 在更新后是否按预期执行。 如果 Runbook 无法提供预期结果,你可以按照步骤 1-4 再次将运行时环境更新到旧体验。
注意
runbook 更新在新运行时环境体验和旧体验之间持续存在。 在链接到 Runbook 的运行时环境中完成的任何更改都将在旧体验中的 Runbook 执行期间持续存在。
更新链接到 Runbook 的运行时环境。
PATCH
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runbooks/<runbookName>?api-version=2023-05-15-preview
{
"properties": {
"type": "PowerShell"
"runtimeEnvironment": "<runtimeEnvironmentName>"
}
}
测试 Runbook 更新
使用不同的运行时环境对 Runbook 运行测试作业。 当需要在更新之前使用运行时环境对 Runbook 进行测试时,此方案很有用。
可以通过更改链接到 Runbook 的运行时环境来更新该 Runbook。 建议在发布更改之前测试 Runbook 的执行。 这是为了确保 Runbook 能够按预期工作。
若要在发布运行时环境更改之前测试 Runbook 的执行,请执行以下步骤:
转到“Runbook”页面,然后选择要更新其运行时环境的 Runbook 。
在“编辑 Runbook”页面中,选择“在门户中编辑”打开文本编辑器 。
“运行时环境”字段会显示现有配置。 从下拉列表中选择新的运行时环境。
选择“测试”窗格,使用更新的运行时环境测试 Runbook 的执行 。 选择“开始”以开始运行测试 。
关闭测试窗格,并根据需要在 Runbook 代码或运行时环境中进行所需的更改。
选择“发布”以更新链接到 Runbook 的运行时环境 。
选择“是”以替代先前发布的版本并确认更改 。
使用不同的运行时环境对 Runbook 运行测试作业。 当需要在更新之前使用运行时环境对 Runbook 进行测试时,此方案很有用。
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runbooks/<runbookName>/draft/testJob?api-version=2023-05-15-preview
{
"properties": {
"runtimeEnvironment": "<runtimeEnvironmentName>"
"runOn": ""
}
}
创建云作业
目前,链接到运行时环境的 Runbook 将在 Azure 中运行。
作业从 Runbook 继承运行时环境。 对已发布的 Runbook 运行云作业:
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/jobs/<jobName>?api-version=2023-05-15-preview
{
"properties": {
"runbook": {
"name": "<runbookName>"
},
"runOn": ""
}
}
将现有 Runbook 链接到系统生成的运行时环境
Azure 自动化帐户中的所有现有 Runbook 将自动链接到系统生成的运行时环境。 系统生成的这些运行时环境是基于相应 Azure 自动化帐户中存在的运行时语言、版本和模块/包创建的。 了解详细信息 。 若要更新现有的 Runbook,请按照此处 所述的步骤更改运行时环境。
后续步骤