本文介绍如何创建运行时环境,并通过 Azure 门户和 REST API 执行各种操作。
Prerequisites
在向托管标识分配权限之前,请确保满足以下先决条件:
- 除巴西东南部和政府云以外的所有公共区域中的 Azure 自动化帐户。
在运行时环境和旧体验之间切换
运行时环境体验
若要切换到运行时环境,请执行以下步骤:
选择“概述”,然后选择“试用运行时环境体验”。
在进程自动化中,运行时环境保留,而共享资源下的模块和Python 包将被删除,因为运行时环境允许管理 Runbook 执行期间所需的包。
若要重新使用旧体验来管理模块和包,请在左侧窗格中选择“概述”,然后选择“切换到旧体验”。
旧体验
若要切换到旧体验,请执行以下步骤:
转到自动化帐户,在 进程自动化下,将删除 运行时环境 ,并在 共享资源下查看 模块 和 Python 包 。
注意
runbook 更新在新运行时环境体验和旧体验之间持续存在。 在旧体验中,在与 Runbook 链接的运行时环境中所做的任何更改都将在 Runbook 执行期间予以保留。
管理运行时环境
创建运行时环境
若要创建运行时环境,请执行以下步骤:
登录到 Azure 门户 并选择自动化帐户。
在“ 概述 ”页中,选择“ 试用运行时环境”体验(如果尚未在新体验中)。
在 “进程自动化”下,选择 “运行时环境 ”,然后选择“ 创建”。
在“基本信息”选项卡中输入以下详细信息:
运行时环境的名称。 该名称必须以字母开头,只能包含字母、数字、下划线和短划线。
从“语言”下拉列表中,选择运行时环境的脚本语言。
- 选择“PowerShell”作为 PowerShell 脚本语言,或选择“Python”作为 Python 脚本语言。
选择脚本语言的运行时版本。
- 对于 PowerShell - 选择 5.1、7.4
- 对于 Python - 选择 3.10
输入适当的 说明。
选择“下一步”,然后在“包”选项卡中上传 Runbook 执行期间所需的包。 默认情况下,将为所有 PowerShell 运行时环境上传 Az PowerShell 包,其中包括用于管理 Azure 资源的所有 cmdlet。
注意
与 PowerShell 7.4 运行时环境关联的 Runbook 支持 Azure CLI 命令。 Azure CLI 命令版本 2.64.0 可用作 PowerShell 7.4 运行时环境中的默认包。
上传 Runbook 执行期间所需的其他包。 选择“添加文件”以添加存储在计算机本地的文件,或选择“从库中添加”以从 PowerShell 库上传包。
注意
- 导入包可能需要几分钟时间。 可导入的文件的最大总大小为 100MB。
- 如此处所述,对 PowerShell Runbook 类型使用 .zip 文件。
- 对于 Python 3.10 包,请使用面向 cp310 Linux OS 的 .whl 文件。
选择“下一步”,然后在“查看 + 创建”选项卡中验证设置是否正确。 选择“创建”时,Azure 会针对你选择的运行时环境设置运行验证。 如果通过了验证,则你可以继续创建运行时环境,否则,门户将指出需要修改的设置。
在 “运行时环境” 页中,可以查看自动化帐户的新创建的运行时环境。 如果在列表中找不到新建的运行时环境,请选择“刷新”。
可以在自动化中使用 Az PowerShell 模块为 PowerShell 7.4 创建新的运行时环境。
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>?api-version=2024-10-23
{
"properties": {
"runtime": {
"language": "PowerShell",
"version": "7.4"
},
"defaultPackages": {
"Az": "12.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=2024-10-23
{
"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=2024-10-23
列出运行时环境
若要列出自动化帐户中的所有运行时环境,请执行以下步骤:
在自动化帐户的 “进程自动化”下,选择 “运行时环境”。
GET
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments?api-version=2024-10-23
查看 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=2024-10-23
更新运行时环境
运行时语言和运行时版本是不可变属性。 但是,你可以在运行时环境中更新模块版本以及添加或删除包。 链接到运行时环境的 Runbook 将用新设置自动更新。
若要更新运行时环境,请执行以下步骤:
在自动化帐户的 “进程自动化”下,选择 “运行时环境”。
选择要更新的运行时环境。
从下拉列表中选择版本以更新现有包的版本。
选择“保存”。
选择“添加文件”以从本地计算机上传包,或选择“从库中添加”以从 PowerShell 库上传包。
注意
一次最多可将 10 个包添加到运行时环境。 在添加 10 个包后,请务必选择“保存”。
更新现有运行时环境的 Az 模块版本。
PATCH
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/runtimeEnvironments/<runtimeEnvironmentName>?api-version=2024-10-23
{
"properties": {
"defaultPackages": {
"Az": "12.3.0"
}
}
}
管理链接到运行时环境的 Runbook
创建 Runbook
可以创建一个配置了运行时环境的新 PowerShell Runbook。
先决条件
- 请确保在创建 Runbook 之前已经创建了运行时环境。
若要创建链接到运行时环境的新 Runbook,请执行以下步骤:
在自动化帐户中的“流程自动化”下,选择“Runbook”。
选择“创建”。
在“基本信息”选项卡上,可以创建新的 Runbook,或者从本地计算机或 PowerShell 库上传文件。
输入运行手册的名称。 该名称必须以字母开头,且只能包含字母、数字、下划线和短划线。
从“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=2024-10-23
{
"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 在更新后是否按预期执行。 如果 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=2024-10-23
{
"properties": {
"type": "PowerShell",
"runtimeEnvironment": "<runtimeEnvironmentName>"
}
}
测试 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=2024-10-23
{
"properties": {
"runtimeEnvironment": "<runtimeEnvironmentName>"
"runOn": ""
}
}
创建云作业
可以在 Azure 和混合辅助角色上执行链接到运行时环境的 Runbook。
作业从 Runbook 继承运行时环境。 对已发布的 Runbook 运行云作业。
PUT
https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Automation/automationAccounts/<accountName>/jobs/<jobName>?api-version=2024-10-23
{
"properties": {
"runbook": {
"name": "<runbookName>"
},
"runOn": ""
}
}
将现有 Runbook 链接到系统生成的运行时环境
Azure 自动化帐户中的所有现有 Runbook 将自动链接到系统生成的运行时环境。 系统生成的这些运行时环境是基于相应 Azure 自动化帐户中存在的运行时语言、版本和模块/包创建的。 了解详细信息。 若要更新现有的 Runbook,请按照此处所述的步骤更改运行时环境。
Next steps