共用方式為


CLI (v2) 作業排程 YAML 架構

適用於:Azure CLI ml 擴充功能 v2(目前)

您可以在 找到 https://azuremlschemas.azureedge.net/latest/schedule.schema.json來源 JSON 架構。

注意

本文件中詳述的 YAML 語法是以最新版 ML CLI v2 擴充功能的 JSON 架構為基礎。 此語法保證只能與最新版的ML CLI v2擴充功能搭配使用。 您可以在 找到舊版擴充功能的 https://azuremlschemasprod.azureedge.net/架構。

YAML 語法

機碼 類型 描述 允許的值
$schema string YAML 架構。
name string 必要。 排程的名稱。
description string 排程的描述。
tags object 排程的標籤典。
trigger object 要定義何時觸發作業的觸發程式組態。 其中一個 RecurrenceTriggerCronTrigger 是必要的。
create_job 物件或字串 必要。 排程所觸發之作業的定義。 其中一個 stringJobDefinition 是必要的。

觸發程式設定

循環觸發程序

機碼 類型 描述 允許的值
type string 必要。 指定排程類型。 復發
frequency string 必要。 指定描述排程引發頻率的時間單位。 minute、、 hourdayweekmonth
interval 整數 必要。 指定排程引發的間隔。
start_time string 描述時區的開始日期和時間。 如果省略start_time,則第一個作業會立即執行,且未來的作業將會根據排程觸發,並指出start_time會等於作業建立時間。 如果開始時間過去,第一個作業將會在下一個計算的運行時間執行。
end_time string 描述具有時區的結束日期和時間。 如果省略end_time,排程會繼續執行,直到明確停用為止。
timezone string 指定週期的時區。 如果省略,則預設為UTC。 請參閱 時區值的附錄
pattern object 指定週期的模式。 如果省略模式,作業會根據start_time、頻率和間隔的邏輯來觸發。

週期排程

週期排程會定義週期模式,其中包含 hoursminutesweekdays

  • 當 frequency 為 day時,模式可以指定 hoursminutes
  • 當 frequency 為 weekmonth時,模式可以指定 hoursminutesweekdays
機碼 類型 允許的值
hours 整數或整數陣列 0-23
minutes 整數或整數陣列 0-59
week_days 字串或字串串數位 mondaytuesday、、thursdaywednesdayfriday、、、 saturdaysunday

CronTrigger

機碼 類型 描述 允許的值
type string 必要。 指定排程類型。 Cron
expression string 必要。 指定要定義如何觸發作業的cron表達式。 expression 會使用標準 crontab 運算式來表示週期性排程。 單一表示式是由五個以空格分隔的欄位所組成:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
start_time string 描述時區的開始日期和時間。 如果省略start_time,則第一個作業會立即執行,且未來的作業將會根據排程觸發,並指出start_time會等於作業建立時間。 如果開始時間過去,第一個作業將會在下一個計算的運行時間執行。
end_time string 描述具有時區的結束日期和時間。 如果省略end_time,排程會繼續執行,直到明確停用為止。
timezone string 指定週期的時區。 如果省略,則預設為UTC。 請參閱 時區值的附錄

工作定義

客戶可以直接使用 create_job: azureml:<job_name> 或使用下列屬性來定義作業。

機碼 類型 描述 允許的值
type string 必要。 指定作業類型。 僅支援管線作業。 pipeline
job string 必要。 定義如何參考作業,它可以是 azureml:<job_name> 或本機管線作業 yaml,例如 file:hello-pipeline.yml
experiment_name string 用來組織作業的實驗名稱。 每個作業的執行記錄都會根據工作室的 [實驗] 索引標籤中的對應實驗來組織。如果省略,我們會將排程名稱視為預設值。
inputs object 作業輸入的字典。 索引鍵是作業內容中輸入的名稱,而值是輸入值。
outputs object 作業輸出組態的字典。 索引鍵是作業內容內輸出的名稱,而值是輸出組態。
settings object 管線作業的預設設定。 如需可設定的屬性集,settings請參閱索引鍵的屬性。

索引鍵的屬性settings

機碼 類型 描述 預設值
default_datastore string 要作為管線作業之預設數據存放區的數據存放區名稱。 此值必須是使用 azureml:<datastore-name> 語法在工作區中現有數據存放區的參考。 父管線作業或子步驟作業之 屬性中 outputs 定義的任何輸出都會儲存在此數據存放區中。 如果省略,輸出將會儲存在工作區 Blob 資料存放區中。
default_compute string 要作為管線中所有步驟之預設計算的計算目標名稱。 如果計算是在步驟層級定義,則會覆寫該特定步驟的這個預設計算。 此值必須是使用 azureml:<compute-name> 語法在工作區中現有計算的參考。
continue_on_step_failure boolean 如果某個步驟失敗,管線中的步驟是否應該繼續執行。 默認值為 False,這表示如果一個步驟失敗,管線執行將會停止,並取消任何執行中的步驟。 False

作業輸入

機碼 類型 描述 允許的值 預設值
type string 作業輸入的類型。 指定 uri_file 指向單一檔案來源的輸入數據,或 uri_folder 指定指向資料夾來源的輸入數據。 uri_file, uri_folder uri_folder
path string 要作為輸入的數據路徑。 這可以透過幾種方式指定:

- 資料來源檔案或資料夾的本機路徑,例如 path: ./iris.csv。 資料會在作業提交期間上傳。

- 要作為輸入之檔案或資料夾之雲端路徑的 URI。 支援的 URI 類型為 azureml 、、 httpswasbsabfssadl 。 如需如何使用 azureml:// URI 格式的詳細資訊,請參閱 核心 yaml 語法

- 現有的已註冊 Azure 機器學習資料資產,用來作為輸入。 若要參考已註冊的資料資產,請使用 azureml:<data_name>:<data_version> 語法 或 azureml:<data_name>@latest (參考該資料資產的最新版本),例如 path: azureml:cifar10-data:1path: azureml:cifar10-data@latest
mode string 如何將資料傳遞至計算目標的模式。

針對唯讀掛接 ( ro_mount ),資料會以掛接路徑的形式取用。 資料夾會掛接為資料夾,並將檔案掛接為檔案。 Azure 機器學習會將輸入解析為掛接路徑。

若為 download 模式,資料將會下載至計算目標。 Azure 機器學習會將輸入解析為下載的路徑。

如果您只想要資料成品儲存位置的 URL,而不是掛接或下載資料本身,您可以使用 direct 模式。 這會傳入儲存體位置的 URL 做為作業輸入。 在此情況下,您完全負責處理認證以存取儲存體。
ro_mount, download, direct ro_mount

工作輸出

機碼 類型 描述 允許的值 預設值
type string 作業輸出的類型。 針對預設 uri_folder 類型,輸出會對應至資料夾。 uri_folder uri_folder
path string 要作為輸入的數據路徑。 這可以透過幾種方式指定:

- 資料來源檔案或資料夾的本機路徑,例如 path: ./iris.csv。 數據會在作業提交期間上傳。

- 要作為輸入之檔案或資料夾之雲端路徑的 URI。 支援的 URI 型態為 azureml、、httpswasbsabfssadl。 如需如何使用 azureml:// URI 格式的詳細資訊,請參閱 核心 yaml 語法

- 現有的已註冊 Azure 機器學習 數據資產,以做為輸入。 若要參考已註冊的數據資產,請使用 azureml:<data_name>:<data_version> 語法 或 azureml:<data_name>@latest (參考該數據資產的最新版本),例如 path: azureml:cifar10-data:1path: azureml:cifar10-data@latest
mode string 輸出檔案將如何傳遞至目的地記憶體的模式。 針對讀寫掛接模式 (rw_mount) ,輸出目錄會是掛接的目錄。 針對上傳模式,寫入的檔案將會在作業結束時上傳。 rw_mount, upload rw_mount

備註

命令az ml schedule可用於管理 Azure 機器學習 模型。

範例

GitHub 存放庫範例中提供範例。 下面顯示一對夫婦。

YAML:使用週期模式排程

適用於:Azure CLI ml 擴充功能 v2(目前)

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: simple_recurrence_job_schedule
display_name: Simple recurrence job schedule
description: a simple hourly recurrence job schedule

trigger:
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 #every day
  schedule:
    hours: [4,5,10,11,12]
    minutes: [0,30]
  start_time: "2022-07-10T10:00:00" # optional - default will be schedule creation time
  time_zone: "Pacific Standard Time" # optional - default will be UTC

create_job: ./simple-pipeline-job.yml
# create_job: azureml:simple-pipeline-job

YAML:使用cron運算式排程

適用於:Azure CLI ml 擴充功能 v2(目前)

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: simple_cron_job_schedule
display_name: Simple cron job schedule
description: a simple hourly cron job schedule

trigger:
  type: cron
  expression: "0 * * * *"
  start_time: "2022-07-10T10:00:00" # optional - default will be schedule creation time
  time_zone: "Pacific Standard Time" # optional - default will be UTC

# create_job: azureml:simple-pipeline-job
create_job: ./simple-pipeline-job.yml

附錄

時區

目前的排程支援下列時區。 密鑰可以直接在 Python SDK 中使用,而值可以在 YAML 作業中使用。 表格由 UTC(國際標準時間)組織。

UTC 機碼
UTC -12:00 DATELINE_STANDARD_TIME “Dateline Standard Time”
UTC -11:00 UTC_11 “UTC-11”
UTC - 10:00 ALEUTIAN_STANDARD_TIME 阿留申群島標準時間
UTC - 10:00 HAWAIIAN_STANDARD_TIME “夏威夷標準時間”
UTC -09:30 MARQUESAS_STANDARD_TIME “Marquesas 標準時間”
UTC -09:00 ALASKAN_STANDARD_TIME “阿拉斯加標準時間”
UTC -09:00 UTC_09 “UTC-09”
UTC -08:00 PACIFIC_STANDARD_TIME_MEXICO “太平洋標準時間(墨西哥)”
UTC -08:00 UTC_08 “UTC-08”
UTC -08:00 PACIFIC_STANDARD_TIME “Pacific Standard Time”
UTC -07:00 US_MOUNTAIN_STANDARD_TIME “US Mountain Standard Time”
UTC -07:00 MOUNTAIN_STANDARD_TIME_MEXICO “山標準時間(墨西哥)”
UTC -07:00 MOUNTAIN_STANDARD_TIME “Mountain Standard Time”
UTC -06:00 CENTRAL_AMERICA_STANDARD_TIME “中美洲標準時間”
UTC -06:00 CENTRAL_STANDARD_TIME “Central Standard Time”
UTC -06:00 EASTER_ISLAND_STANDARD_TIME “復活島標準時間”
UTC -06:00 CENTRAL_STANDARD_TIME_MEXICO “中央標準時間(墨西哥)”
UTC -06:00 CANADA_CENTRAL_STANDARD_TIME 加拿大中部標準時間”
UTC -05:00 SA_PACIFIC_STANDARD_TIME “SA Pacific Standard Time”
UTC -05:00 EASTERN_STANDARD_TIME_MEXICO “東部標準時間(墨西哥)”
UTC -05:00 EASTERN_STANDARD_TIME “東方標準時間”
UTC -05:00 HAITI_STANDARD_TIME “海地標準時間”
UTC -05:00 CUBA_STANDARD_TIME “古巴標準時間”
UTC -05:00 US_EASTERN_STANDARD_TIME “美國東部標準時間”
UTC -05:00 TURKS_AND_CAICOS_STANDARD_TIME “土耳其人和凱科斯標準時間”
UTC -04:00 PARAGUAY_STANDARD_TIME “巴拉圭標準時間”
UTC -04:00 ATLANTIC_STANDARD_TIME “大西洋標準時間”
UTC -04:00 VENEZUELA_STANDARD_TIME “委內瑞拉標準時間”
UTC -04:00 CENTRAL_BRAZILIAN_STANDARD_TIME “巴西中部標準時間”
UTC -04:00 SA_WESTERN_STANDARD_TIME “SA Western Standard Time”
UTC -04:00 PACIFIC_SA_STANDARD_TIME “Pacific SA Standard Time”
UTC -03:30 NEWFOUNDLAND_STANDARD_TIME “紐芬蘭標準時間”
UTC -03:00 TOCANTINS_STANDARD_TIME “Tocantins Standard Time”
UTC -03:00 E_SOUTH_AMERICAN_STANDARD_TIME E。」 南美洲標準時間”
UTC -03:00 SA_EASTERN_STANDARD_TIME “SA Eastern Standard Time”
UTC -03:00 ARGENTINA_STANDARD_TIME “阿根廷標準時間”
UTC -03:00 GREENLAND_STANDARD_TIME 格陵蘭標準時間”
UTC -03:00 MONTEVIDEO_STANDARD_TIME “蒙得維的亞標準時間”
UTC -03:00 SAINT_PIERRE_STANDARD_TIME “聖皮埃爾標準時間”
UTC -03:00 BAHIA_STANDARD_TIM “Bahia 標準時間”
UTC -02:00 UTC_02 “UTC-02”
UTC -02:00 MID_ATLANTIC_STANDARD_TIME “中大西洋標準時間”
UTC -01:00 AZORES_STANDARD_TIME “阿佐雷斯標準時間”
UTC -01:00 CAPE_VERDE_STANDARD_TIME “維德角標準時間”
UTC UTC UTC
UTC +00:00 GMT_STANDARD_TIME “GMT 標準時間”
UTC +00:00 GREENWICH_STANDARD_TIME “格林威治標準時間”
UTC +01:00 MOROCCO_STANDARD_TIME “摩洛哥標準時間”
UTC +01:00 W_EUROPE_STANDARD_TIME “W. 歐洲標準時間”
UTC +01:00 CENTRAL_EUROPE_STANDARD_TIME “中歐標準時間”
UTC +01:00 ROMANCE_STANDARD_TIME “浪漫標準時間”
UTC +01:00 CENTRAL_EUROPEAN_STANDARD_TIME “中歐標準時間”
UTC +01:00 W_CENTRAL_AFRICA_STANDARD_TIME “W. 中非標準時間”
UTC +02:00 NAMIBIA_STANDARD_TIME “納米比亞標準時間”
UTC +02:00 JORDAN_STANDARD_TIME “Jordan Standard Time”
UTC +02:00 GTB_STANDARD_TIME “GTB 標準時間”
UTC +02:00 MIDDLE_EAST_STANDARD_TIME “中東標準時間”
UTC +02:00 EGYPT_STANDARD_TIME “埃及標準時間”
UTC +02:00 E_EUROPE_STANDARD_TIME E。」 歐洲標準時間”
UTC +02:00 SYRIA_STANDARD_TIME 「敘利亞標準時間」
UTC +02:00 WEST_BANK_STANDARD_TIME 「西岸標準時間」
UTC +02:00 SOUTH_AFRICA_STANDARD_TIME 「南非標準時間」
UTC +02:00 FLE_STANDARD_TIME 「FLE 標準時間」
UTC +02:00 ISRAEL_STANDARD_TIME 「以色列標準時間」
UTC +02:00 KALININGRAD_STANDARD_TIME 「加里甯格勒標準時間」
UTC +02:00 LIBYA_STANDARD_TIME 「利比亞標準時間」
UTC +03:00 TÜRKIYE_STANDARD_TIME 「Türkiye 標準時間」
UTC +03:00 ARABIC_STANDARD_TIME 「阿拉伯標準時間」
UTC +03:00 ARAB_STANDARD_TIME 「阿拉伯標準時間」
UTC +03:00 BELARUS_STANDARD_TIME 「白俄羅斯標準時間」
UTC +03:00 RUSSIAN_STANDARD_TIME 「俄文標準時間」
UTC +03:00 E_AFRICA_STANDARD_TIME E。」 非洲標準時間」
UTC +03:30 IRAN_STANDARD_TIME 「伊朗標準時間」
UTC +04:00 ARABIAN_STANDARD_TIME 「阿拉伯標準時間」
UTC +04:00 ASTRAKHAN_STANDARD_TIME 「Astrakhan 標準時間」
UTC +04:00 AZERBAIJAN_STANDARD_TIME 「亞塞拜然標準時間」
UTC +04:00 RUSSIA_TIME_ZONE_3 「俄羅斯時區 3」
UTC +04:00 MAURITIUS_STANDARD_TIME 「模裡西斯標準時間」
UTC +04:00 GEORGIAN_STANDARD_TIME 「喬治亞標準時間」
UTC +04:00 CAUCASUS_STANDARD_TIME 「高加索標準時間」
UTC +04:30 AFGHANISTAN_STANDARD_TIME 「阿富汗標準時間」
UTC +05:00 WEST_ASIA_STANDARD_TIME 「西亞標準時間」
UTC +05:00 EKATERINBURG_STANDARD_TIME 「Ekaterinburg 標準時間」
UTC +05:00 PAKISTAN_STANDARD_TIME 「巴基斯坦標準時間」
UTC +05:30 INDIA_STANDARD_TIME 「印度標準時間」
UTC +05:30 SRI_LANKA_STANDARD_TIME 「斯里蘭卡標準時間」
UTC +05:45 NEPAL_STANDARD_TIME 「尼泊爾標準時間」
UTC +06:00 CENTRAL_ASIA_STANDARD_TIME 「中亞標準時間」
UTC +06:00 BANGLADESH_STANDARD_TIME 「孟加拉國標準時間」
UTC +06:30 MYANMAR_STANDARD_TIME 「緬甸標準時間」
UTC +07:00 N_CENTRAL_ASIA_STANDARD_TIME 「N. 中亞標準時間」
UTC +07:00 SE_ASIA_STANDARD_TIME 「SE Asia Standard Time」
UTC +07:00 ALTAI_STANDARD_TIME “Altai 標準時間”
UTC +07:00 W_MONGOLIA_STANDARD_TIME “W. 蒙古標準時間”
UTC +07:00 NORTH_ASIA_STANDARD_TIME “北亞標準時間”
UTC +07:00 TOMSK_STANDARD_TIME “Tomsk Standard Time”
UTC +08:00 CHINA_STANDARD_TIME “中國標準時間”
UTC +08:00 NORTH_ASIA_EAST_STANDARD_TIME “東北亞東部標準時間”
UTC +08:00 SINGAPORE_STANDARD_TIME “新加坡標準時間”
UTC +08:00 W_AUSTRALIA_STANDARD_TIME “W. 澳大利亞標準時間”
UTC +08:00 TAIPEI_STANDARD_TIME “台北標準時間”
UTC +08:00 ULAANBAATAR_STANDARD_TIME “烏蘭巴托標準時間”
UTC +08:45 AUS_CENTRAL_W_STANDARD_TIME “Aus Central W. Standard Time”
UTC +09:00 NORTH_KOREA_STANDARD_TIME “朝鮮標準時間”
UTC +09:00 TRANSBAIKAL_STANDARD_TIME “Transbaikal 標準時間”
UTC +09:00 TOKYO_STANDARD_TIME “東京標準時間”
UTC +09:00 KOREA_STANDARD_TIME “韓國標準時間”
UTC +09:00 YAKUTSK_STANDARD_TIME “Yakutsk 標準時間”
UTC +09:30 CEN_AUSTRALIA_STANDARD_TIME “Cen. 澳大利亞標準時間”
UTC +09:30 AUS_CENTRAL_STANDARD_TIME “AUS Central Standard Time”
UTC +10:00 E_AUSTRALIAN_STANDARD_TIME E。」 澳大利亞標準時間”
UTC +10:00 AUS_EASTERN_STANDARD_TIME “AUS 東部標準時間”
UTC +10:00 WEST_PACIFIC_STANDARD_TIME “西太平洋標準時間”
UTC +10:00 TASMANIA_STANDARD_TIME “塔斯馬尼亞標準時間”
UTC +10:00 VLADIVOSTOK_STANDARD_TIME “Vladivostok 標準時間”
UTC +10:30 LORD_HOWE_STANDARD_TIME “豪勳爵標準時間”
UTC +11:00 BOUGAINVILLE_STANDARD_TIME “布幹維爾標準時間”
UTC +11:00 RUSSIA_TIME_ZONE_10 “俄羅斯時區 10”
UTC +11:00 MAGADAN_STANDARD_TIME “Magadan 標準時間”
UTC +11:00 NORFOLK_STANDARD_TIME “Norfolk 標準時間”
UTC +11:00 SAKHALIN_STANDARD_TIME “薩哈林標準時間”
UTC +11:00 CENTRAL_PACIFIC_STANDARD_TIME “中太平洋標準時間”
UTC +12:00 RUSSIA_TIME_ZONE_11 “俄羅斯時區 11”
UTC +12:00 NEW_ZEALAND_STANDARD_TIME “紐西蘭標準時間”
UTC +12:00 UTC_12 「UTC+12」
UTC +12:00 FIJI_STANDARD_TIME 「斐濟標準時間」
UTC +12:00 KAMCHATKA_STANDARD_TIME 「Kamchatka 標準時間」
UTC +12:45 CHATHAM_ISLANDS_STANDARD_TIME 「查塔姆群島標準時間」
UTC +13:00 TONGA__STANDARD_TIME 「Tonga Standard Time」
UTC +13:00 SAMOA_STANDARD_TIME 「薩摩亞標準時間」
UTC +14:00 LINE_ISLANDS_STANDARD_TIME 「Line Islands Standard Time」