你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
CLI (v2) 作业计划 YAML 架构
源 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 | 用于定义何时触发作业的规则的触发器配置。 必须指定 RecurrenceTrigger 或 CronTrigger 。 |
|
create_job |
对象或字符串 | 必需。 将由计划触发的作业的定义。 必须指定 string 或 JobDefinition 。 |
触发器配置
重复触发器
密钥 | 类型 | 说明 | 允许的值 |
---|---|---|---|
type |
字符串 | 必需。 指定计划类型。 | recurrence |
frequency |
字符串 | 必需。 指定描述计划触发频率的时间单位。 | |
interval |
整型 | 必需。 指定计划触发的时间间隔。 | |
start_time |
字符串 | 使用时区描述开始日期和时间。 如果省略 start_time,第一个作业将立即运行,以后的作业根据计划触发,即 start_time 等于作业创建时间。 如果开始时间在过去,则第一个作业将在下一个计算的运行时间运行。 | |
end_time |
字符串 | 用时区描述结束日期和时间。 如果 end_time 被省略,计划将继续运行,直到被显式禁用为止。 | |
timezone |
字符串 | 指定定期时区。 如果省略,则默认为 UTC。 | 请参阅时区值附录 |
pattern |
object | 指定定期模式。 如果省略模式,将根据 start_time、frequency 和 interval 的逻辑触发作业。 |
定期计划
定期计划定义定期模式,包含 hours
、minutes
和 weekdays
。
- 当频率为
day
时,模式可指定hours
和minutes
。 - 当频率为
week
和month
时,模式可指定hours
、minutes
和weekdays
。
密钥 | 类型 | 允许的值 |
---|---|---|
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 类型为 azureml 、https 、wasbs 、abfss 、adl 。 有关如何使用 URI 格式的详细信息,请参阅azureml:// 核心 YAML 语法。 - 要用作输入的现有已注册的 Azure 机器学习数据资产。 若要引用已注册的数据资产,请使用 azureml:<data_name>:<data_version> 语法或 azureml:<data_name>@latest (用于引用数据资产的最新版本),例如 path: azureml:cifar10-data:1 或 path: 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 类型为 azureml 、https 、wasbs 、abfss 、adl 。 有关如何使用 URI 格式的详细信息,请参阅azureml:// 核心 YAML 语法。 - 要用作输入的现有已注册的 Azure 机器学习数据资产。 若要引用已注册的数据资产,请使用 azureml:<data_name>:<data_version> 语法或 azureml:<data_name>@latest (用于引用数据资产的最新版本),例如 path: azureml:cifar10-data:1 或 path: azureml:cifar10-data@latest 。 |
||
mode |
字符串 | 输出文件传送到目标存储的模式。 对于读写装载模式 (rw_mount ),输出目录是装载的目录。 对于上传模式,写入的文件将在作业结束时上传。 |
%> | rw_mount |
备注
az ml schedule
命令可用于管理 Azure 机器学习模型。
示例
示例 GitHub 存储库中提供了示例。 以下显示了几个示例。
YAML:具有定期模式的计划
$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 表达式的计划
$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 | “来恩群岛标准时间” |