你当前正在访问 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 字符串 计划的描述。
tags 物体 计划的标记字典。
trigger 物体 用于定义何时触发作业的规则的触发器配置。 必须指定 RecurrenceTriggerCronTrigger
create_job 对象或字符串 必需。 将由计划触发的作业的定义。 必须指定 stringJobDefinition

触发器配置

重复触发器

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

定期计划

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

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

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,例如 .\hello-pipeline.yml
experiment_name 字符串 用于对作业进行组织的试验名称。 每个作业的运行纪录均整理在工作室的“实验”选项卡中的相应实验下。如果省略,我们将计划名称作为默认值。
inputs 物体 作业的输入字典。 键是作业上下文中的输入名称,值是输入值。
outputs 物体 作业的输出配置字典。 键是作业上下文中的输出名称,值是输出配置。
settings 物体 管道作业的默认设置。 有关可配置属性的集合,请参阅 settings 键的属性

settings 键的属性

密钥 类型 说明 默认值
default_datastore 字符串 要用作管道作业的默认数据存储的数据存储的名称。 此值必须是通过 azureml:<datastore-name> 语法对工作区中现有数据存储的引用。 在父管道作业或子步骤作业的 outputs 属性中定义的任何输出都将存储在此数据存储中。 如果省略,输出将存储在工作区 blob 数据存储中。
default_compute 字符串 要用作管道中所有步骤的默认计算的计算目标的名称。 如果在步骤级别定义了计算,它将覆盖该特定步骤的默认计算。 此值必须是通过 azureml:<compute-name> 语法对工作区中现有计算的引用。
continue_on_step_failure 布尔 如果一个步骤失败,管道中步骤的执行是否应继续。 默认值为 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 “来恩群岛标准时间”