你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

CLI (v2) 作业计划 YAML 架构

适用于:Azure CLI ml 扩展 v2(当前版)

源 JSON 架构可在 https://azuremlschemas.azureedge.net/latest/schedule.schema.json 中找到。

注意

本文档中详细介绍的 YAML 语法基于最新版本的 ML CLI v2 扩展的 JSON 架构。 此语法必定仅适用于最新版本的 ML CLI v2 扩展。 可以在 https://azuremlschemasprod.azureedge.net/ 上查找早期扩展版本的架构。

YAML 语法

密钥 类型 说明 允许的值
$schema 字符串 YAML 架构。
name 字符串 必需。 计划名称。
description string 计划的描述。
tags object 计划的标记字典。
trigger object 用于定义何时触发作业的规则的触发器配置。 必须指定 RecurrenceTriggerCronTrigger
create_job 对象或字符串 必需。 将由计划触发的作业的定义。 必须指定 stringJobDefinition

触发器配置

重复触发器

密钥 类型 说明 允许的值
type 字符串 必需。 指定计划类型。 recurrence
frequency 字符串 必需。 指定描述计划触发频率的时间单位。
interval 整型 必需。 指定计划触发的时间间隔。
start_time 字符串 使用时区描述开始日期和时间。 如果省略 start_time,第一个作业将立即运行,以后的作业根据计划触发,即 start_time 等于作业创建时间。 如果开始时间在过去,则第一个作业将在下一个计算的运行时间运行。
end_time 字符串 用时区描述结束日期和时间。 如果 end_time 被省略,计划将继续运行,直到被显式禁用为止。
timezone 字符串 指定定期时区。 如果省略,则默认为 UTC。 请参阅时区值附录
pattern object 指定定期模式。 如果省略模式,将根据 start_time、frequency 和 interval 的逻辑触发作业。

定期计划

定期计划定义定期模式,包含 hoursminutesweekdays

  • 当频率为 day 时,模式可指定 hoursminutes
  • 当频率为 weekmonth 时,模式可指定 hoursminutesweekdays
密钥 类型 允许的值
hours 整数或整数数组 0-23
minutes 整数或整数数组 0-59
week_days 字符串或字符串数组

CronTrigger

密钥 类型 说明 允许的值
type 字符串 必需。 指定计划类型。 cron
expression 字符串 必需。 指定用于定义如何触发作业的 cron 表达式。 表达式使用标准 crontab 表达式来表达定期计划。 单个表达式由 5 个空格分隔的字段组成:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
start_time 字符串 使用时区描述开始日期和时间。 如果省略 start_time,第一个作业将立即运行,以后的作业根据计划触发,即 start_time 等于作业创建时间。 如果开始时间在过去,则第一个作业将在下一个计算的运行时间运行。
end_time 字符串 用时区描述结束日期和时间。 如果 end_time 被省略,计划将继续运行,直到被显式禁用为止。
timezone 字符串 指定定期时区。 如果省略,则默认为 UTC。 请参阅时区值附录

作业定义

客户可直接使用 create_job: azureml:<job_name>,也可使用以下属性来定义作业。

密钥 类型 说明 允许的值
type 字符串 必需。 指定作业类型。 仅支持管道作业。 pipeline
job 字符串 必需。 定义如何引用作业,可以是 azureml:<job_name> 或者本地管道作业 yaml,例如 file:hello-pipeline.yml
experiment_name 字符串 用于对作业进行组织的试验名称。 每个作业的运行纪录均整理在工作室的“实验”选项卡中的相应实验下。如果省略,我们将计划名称作为默认值。
inputs object 作业的输入字典。 键是作业上下文中的输入名称,值是输入值。
outputs object 作业的输出配置字典。 键是作业上下文中的输出名称,值是输出配置。
settings object 管道作业的默认设置。 有关可配置属性的集合,请参阅 settings 键的属性

settings 键的属性

类型 说明 默认值
default_datastore 字符串 要用作管道作业的默认数据存储的数据存储的名称。 此值必须是通过 azureml:<datastore-name> 语法对工作区中现有数据存储的引用。 在父管道作业或子步骤作业的 outputs 属性中定义的任何输出都将存储在此数据存储中。 如果省略,输出将存储在工作区 blob 数据存储中。
default_compute 字符串 要用作管道中所有步骤的默认计算的计算目标的名称。 如果在步骤级别定义了计算,它将覆盖该特定步骤的默认计算。 此值必须是通过 azureml:<compute-name> 语法对工作区中现有计算的引用。
continue_on_step_failure boolean 如果一个步骤失败,管道中步骤的执行是否应继续。 默认值为 False,这意味着如果一个步骤失败,管道执行将停止,从而取消任何正在运行的步骤。 False

作业输入

类型 说明 允许的值 默认值
type 字符串 作业输入的类型。 为指向单个文件源的输入数据指定 uri_file,或为指向文件夹源的输入数据指定 uri_folder %> uri_folder
path 字符串 用作输入的数据的路径。 可通过几种方式来执行它:

- 数据源文件或文件夹的本地路径,例如 path: ./iris.csv。 数据将在作业提交期间上传。

- 要用作输入的文件或文件夹的云路径的 URI。 支持的 URI 类型为 azuremlhttpswasbsabfssadl。 有关如何使用 URI 格式的详细信息,请参阅azureml://核心 YAML 语法

- 要用作输入的现有已注册的 Azure 机器学习数据资产。 若要引用已注册的数据资产,请使用 azureml:<data_name>:<data_version> 语法或 azureml:<data_name>@latest(用于引用数据资产的最新版本),例如 path: azureml:cifar10-data:1path: azureml:cifar10-data@latest
mode 字符串 将数据传送到计算目标的模式。

对于只读装载 (ro_mount),数据将用作装载路径。 文件夹将装载为文件夹,文件将装载为文件。 Azure 机器学习会将输入解析为装载路径。

对于 download 模式,数据将下载到计算目标。 Azure 机器学习会将输入解析为下载的路径。

如果你只想要数据工件的存储位置的 URL 而不是挂载或下载数据本身,则可以使用 direct 模式。 这将传入存储位置的 URL 作为作业输入。 在这种情况下,你全权负责处理凭证以访问存储。
.- . ro_mount

作业输出

类型 说明 允许的值 默认值
type 字符串 作业输出的类型。 对于默认的 uri_folder 类型,输出将对应一个文件夹。 uri_folder uri_folder
path 字符串 用作输入的数据的路径。 可通过几种方式来执行它:

- 数据源文件或文件夹的本地路径,例如 path: ./iris.csv。 数据将在作业提交期间上传。

- 要用作输入的文件或文件夹的云路径的 URI。 支持的 URI 类型为 azuremlhttpswasbsabfssadl。 有关如何使用 URI 格式的详细信息,请参阅azureml://核心 YAML 语法

- 要用作输入的现有已注册的 Azure 机器学习数据资产。 若要引用已注册的数据资产,请使用 azureml:<data_name>:<data_version> 语法或 azureml:<data_name>@latest(用于引用数据资产的最新版本),例如 path: azureml:cifar10-data:1path: azureml:cifar10-data@latest
mode 字符串 输出文件传送到目标存储的模式。 对于读写装载模式 (rw_mount),输出目录是装载的目录。 对于上传模式,写入的文件将在作业结束时上传。 %> 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 “国际日期变更线标准时间”
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 “马克萨斯标准时间”
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 “太平洋标准时间”
UTC -07:00 US_MOUNTAIN_STANDARD_TIME “美国山地标准时间”
UTC -07:00 MOUNTAIN_STANDARD_TIME_MEXICO “山地标准时间(墨西哥)”
UTC -07:00 MOUNTAIN_STANDARD_TIME “山地标准时间”
UTC -06:00 CENTRAL_AMERICA_STANDARD_TIME “中美洲标准时间”
UTC -06:00 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 “南美洲太平洋标准时间”
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 “南美洲西部标准时间”
UTC -04:00 PACIFIC_SA_STANDARD_TIME “太平洋南美洲标准时间”
UTC -03:30 NEWFOUNDLAND_STANDARD_TIME “纽芬兰标准时间”
UTC -03:00 TOCANTINS_STANDARD_TIME “托坎廷斯标准时间”
UTC -03:00 E_SOUTH_AMERICAN_STANDARD_TIME “E. 南美洲标准时间”
UTC -03:00 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 “巴伊亚标准时间”
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 “西 欧标准时间”
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 “中非 西部标准时间”
UTC +02:00 NAMIBIA_STANDARD_TIME “纳米比亚标准时间”
UTC +02:00 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 “土耳其标准时间”
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 “阿斯特拉罕标准时间”
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 “叶卡捷琳堡标准时间”
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 “中亚 北部标准时间”
UTC +07:00 SE_ASIA_STANDARD_TIME “东南亚标准时间”
UTC +07:00 ALTAI_STANDARD_TIME “阿尔泰标准时间”
UTC +07:00 W_MONGOLIA_STANDARD_TIME “西 蒙古标准时间”
UTC +07:00 NORTH_ASIA_STANDARD_TIME “北亚标准时间”
UTC +07:00 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 “澳大利亚 西部标准时间”
UTC +08:00 TAIPEI_STANDARD_TIME “台北标准时间”
UTC +08:00 ULAANBAATAR_STANDARD_TIME “乌兰巴托标准时间”
UTC +08:45 AUS_CENTRAL_W_STANDARD_TIME “澳大利亚中西部标准时间”
UTC +09:00 NORTH_KOREA_STANDARD_TIME “朝鲜标准时间”
UTC +09:00 TRANSBAIKAL_STANDARD_TIME “外贝加尔标准时间”
UTC +09:00 TOKYO_STANDARD_TIME “东京标准时间”
UTC +09:00 KOREA_STANDARD_TIME “韩国标准时间”
UTC +09:00 YAKUTSK_STANDARD_TIME “雅库茨克标准时间”
UTC +09:30 CEN_AUSTRALIA_STANDARD_TIME “中部 澳大利亚标准时间”
UTC +09:30 AUS_CENTRAL_STANDARD_TIME “澳大利亚中部标准时间”
UTC +10:00 E_AUSTRALIAN_STANDARD_TIME “E. 澳大利亚标准时间”
UTC +10:00 AUS_EASTERN_STANDARD_TIME “澳大利亚东部标准时间”
UTC +10:00 WEST_PACIFIC_STANDARD_TIME “太平洋西部标准时间”
UTC +10:00 TASMANIA_STANDARD_TIME “塔斯马尼亚岛标准时间”
UTC +10:00 VLADIVOSTOK_STANDARD_TIME “符拉迪沃斯托克标准时间”
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 “马加丹标准时间”
UTC +11:00 NORFOLK_STANDARD_TIME “诺福克标准时间”
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 “勘察加标准时间”
UTC +12:45 CHATHAM_ISLANDS_STANDARD_TIME “查塔姆群岛标准时间”
UTC +13:00 TONGA__STANDARD_TIME “汤加标准时间”
UTC +13:00 SAMOA_STANDARD_TIME “萨摩亚标准时间”
UTC +14:00 LINE_ISLANDS_STANDARD_TIME “来恩群岛标准时间”