管理執行階段環境和關聯的 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 是您可以匯入的檔案總大小上限。
若為 PowerShell Runbook 類型,請使用 .zip 檔案,如此處 (英文) 所述
若為 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 的執行是否符合預期。 如果 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,請遵循這裡 所述的步驟來變更執行階段環境。
下一步