Schedule 类
定义要提交管道的计划。
发布管道后,可以使用计划以指定间隔或检测到对 Blob 存储位置的更改时提交管道。
初始化计划。
构造函数
Schedule(workspace, id, name, description, pipeline_id, status, recurrence, datastore_name, polling_interval, data_path_parameter_name, continue_on_step_failure, path_on_datastore, _schedule_provider=None, pipeline_endpoint_id=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
此计划所属的工作区对象。 |
id
必需
|
计划的 ID。 |
name
必需
|
计划的名称。 |
description
必需
|
计划的说明。 |
pipeline_id
必需
|
计划将提交的管道的 ID。 |
status
必需
|
计划的状态,“活动”或“已禁用”。 |
recurrence
必需
|
管道的计划重复周期。 |
datastore_name
必需
|
要监视已修改/添加 blob 的数据存储的名称。 注意:1) 不支持 VNET 数据存储。 2) 数据存储的身份验证类型应设置为“帐户密钥”。 |
polling_interval
必需
|
轮询已修改/已添加的 Blob 的间隔时间(分钟)。 |
data_path_parameter_name
必需
|
要使用更改的 Blob 路径设置的数据路径管道参数的名称。 |
continue_on_step_failure
必需
|
当某个步骤失败时,是否继续执行提交的 PipelineRun 中的其他步骤。 如果提供,这将替代管道的continue_on_step_failure设置。 |
path_on_datastore
必需
|
可选。 要在其中监视已修改/已添加的 Blob 的数据存储上的路径。 注意:path_on_datastore将在数据存储的容器下,因此计划将监视的实际路径将是容器/path_on_datastore。 如果没有此路径,将监视数据存储容器。 不会监视在path_on_datastore的子文件夹中所做的添加/修改。 仅支持 DataStore 计划。 |
_schedule_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>
计划提供程序。 默认值: None
|
workspace
必需
|
此计划所属的工作区对象。 |
id
必需
|
计划的 ID。 |
name
必需
|
计划的名称。 |
description
必需
|
计划的说明。 |
pipeline_id
必需
|
计划将提交的管道的 ID。 |
status
必需
|
计划的状态,“活动”或“已禁用”。 |
recurrence
必需
|
管道的计划重复周期。 |
datastore_name
必需
|
要监视已修改/添加 blob 的数据存储的名称。 注意:不支持 VNET 数据存储。 |
polling_interval
必需
|
轮询已修改/已添加的 Blob 的间隔时间(分钟)。 |
data_path_parameter_name
必需
|
要使用更改的 Blob 路径设置的数据路径管道参数的名称。 |
continue_on_step_failure
必需
|
当某个步骤失败时,是否继续执行提交的 PipelineRun 中的其他步骤。 如果提供,这将替代管道的continue_on_step_failure设置。 |
path_on_datastore
必需
|
可选。 要在其中监视已修改/已添加的 Blob 的数据存储上的路径。 注意:path_on_datastore将在数据存储的容器下,因此计划将监视的实际路径将是容器/path_on_datastore。 如果没有此路径,将监视数据存储容器。 不会监视在path_on_datastore的子文件夹中所做的添加/修改。 仅支持 DataStore 计划。 |
_schedule_provider
必需
|
<xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>
计划提供程序。 |
pipeline_endpoint_id
|
计划将提交的管道终结点的 ID。 默认值: None
|
注解
支持两种类型的计划。 第一次使用定期按给定计划提交管道。 第二个 AzureBlobDatastore 监视已添加或修改的 Blob,并在检测到更改时提交管道。
若要创建按定期计划提交管道的计划,请在创建计划时使用 ScheduleRecurrence 。
为管道创建计划时,使用 ScheduleRecurrence,如下所示:
from azureml.pipeline.core import Schedule, ScheduleRecurrence
recurrence = ScheduleRecurrence(frequency="Hour", interval=12)
schedule = Schedule.create(workspace, name="TestSchedule", pipeline_id="pipeline_id",
experiment_name="helloworld", recurrence=recurrence)
此计划每 12 小时提交一次提供 PublishedPipeline 。 提交的管道将在名为“helloworld”的试验下创建。
若要创建在修改 Blob 存储位置时触发 PipelineRuns 的计划,请在创建计划时指定数据存储和相关数据信息。
from azureml.pipeline.core import Schedule
from azureml.core.datastore import Datastore
datastore = Datastore(workspace=ws, name="workspaceblobstore")
schedule = Schedule.create(workspace, name="TestSchedule", pipeline_id="pipeline_id"
experiment_name="helloworld", datastore=datastore,
polling_interval=5, path_on_datastore="file/path")
请注意,polling_interval和path_on_datastore参数是可选的。 polling_interval指定轮询对数据存储的修改的频率,默认情况下为 5 分钟。 path_on_datastore可用于指定要监视更改的数据存储上的哪个文件夹。 如果为 None,则监视数据存储容器。 注意:未检测到path_on_datastore或数据存储容器的子文件夹中的 blob 添加/修改(如果未指定任何path_on_datastore)。
此外,如果管道构造为使用描述 DataPathPipelineParameter 步骤输入,则创建数据存储触发的计划时使用 data_path_parameter_name 参数,以在 Schedule 提交 PipelineRun 时将输入设置为已更改的文件。
在以下示例中,当 Schedule 触发 PipelineRun 时,“input_data”PipelineParameter 的值将设置为修改/添加的文件:
from azureml.pipeline.core import Schedule
from azureml.core.datastore import Datastore
datastore = Datastore(workspace=ws, name="workspaceblobstore")
schedule = Schedule.create(workspace, name="TestSchedule", pipeline_id="pipeline_id",
experiment_name="helloworld", datastore=datastore,
data_path_parameter_name="input_data")
有关计划的详细信息,请参阅: https://aka.ms/pl-schedule。
方法
create |
为管道创建计划。 指定基于时间的计划或指定数据存储、(可选)polling_interval和(可选)data_path_parameter_name创建计划,以监视数据存储位置进行修改/添加。 |
create_for_pipeline_endpoint |
为管道终结点创建计划。 指定基于时间的计划或指定数据存储、(可选)polling_interval和(可选)data_path_parameter_name创建计划,以监视数据存储位置进行修改/添加。 |
disable |
将计划设置为“Disabled”且无法运行。 |
enable |
将计划设置为“活动”,并可供运行。 |
get |
获取具有给定 ID 的计划。 |
get_all |
获取当前工作区中的所有计划。 已弃用:此方法被弃用,转而支持 list 该方法。 |
get_last_pipeline_run |
提取计划提交的最后一个管道运行。 如果未提交任何运行,则返回 None。 |
get_pipeline_runs |
提取从计划生成的管道运行。 |
get_schedules_for_pipeline_endpoint_id |
获取给定管道终结点 ID 的所有计划。 |
get_schedules_for_pipeline_id |
获取给定管道 ID 的所有计划。 |
list |
获取当前工作区中的所有计划。 |
load_yaml |
加载并读取 YAML 文件以获取计划参数。 YAML 文件是传递计划参数以创建计划的方法之一。 |
update |
更新计划。 |
create
为管道创建计划。
指定基于时间的计划或指定数据存储、(可选)polling_interval和(可选)data_path_parameter_name创建计划,以监视数据存储位置进行修改/添加。
static create(workspace, name, pipeline_id, experiment_name, recurrence=None, description=None, pipeline_parameters=None, wait_for_provisioning=False, wait_timeout=3600, datastore=None, polling_interval=5, data_path_parameter_name=None, continue_on_step_failure=None, path_on_datastore=None, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
此计划所属的工作区对象。 |
name
必需
|
计划的名称。 |
pipeline_id
必需
|
计划将提交的管道的 ID。 |
experiment_name
必需
|
计划将提交运行的试验的名称。 |
recurrence
|
管道的计划重复周期。 默认值: None
|
description
|
计划的说明。 默认值: None
|
pipeline_parameters
|
用于分配新值的参数字典 {param name, param value} 默认值: None
|
wait_for_provisioning
|
是否等待计划预配完成。 默认值: False
|
wait_timeout
|
超时之前等待的秒数。 默认值: 3600
|
datastore
|
要监视的已修改/添加 blob 的数据存储。 注意:不支持 VNET 数据存储。 不能与重复周期一起使用。 默认值: None
|
polling_interval
|
轮询已修改/已添加的 Blob 的间隔时间(分钟)。 默认值为 5 分钟。 仅支持 DataStore 计划。 默认值: 5
|
data_path_parameter_name
|
要使用更改的 Blob 路径设置的数据路径管道参数的名称。 仅支持 DataStore 计划。 默认值: None
|
continue_on_step_failure
|
当某个步骤失败时,是否继续执行提交的 PipelineRun 中的其他步骤。 如果提供,这将替代管道的continue_on_step_failure设置。 默认值: None
|
path_on_datastore
|
可选。 要在其中监视已修改/已添加的 Blob 的数据存储上的路径。 注意:path_on_datastore将在数据存储的容器下,因此计划将监视的实际路径将是容器/path_on_datastore。 如果没有此路径,将监视数据存储容器。 不会监视在path_on_datastore的子文件夹中所做的添加/修改。 仅支持 DataStore 计划。 默认值: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
创建的计划。 |
create_for_pipeline_endpoint
为管道终结点创建计划。
指定基于时间的计划或指定数据存储、(可选)polling_interval和(可选)data_path_parameter_name创建计划,以监视数据存储位置进行修改/添加。
static create_for_pipeline_endpoint(workspace, name, pipeline_endpoint_id, experiment_name, recurrence=None, description=None, pipeline_parameters=None, wait_for_provisioning=False, wait_timeout=3600, datastore=None, polling_interval=5, data_path_parameter_name=None, continue_on_step_failure=None, path_on_datastore=None, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
此计划所属的工作区对象。 |
name
必需
|
计划的名称。 |
pipeline_endpoint_id
必需
|
计划将提交的管道终结点的 ID。 |
experiment_name
必需
|
计划将提交运行的试验的名称。 |
recurrence
|
管道的计划重复周期。 默认值: None
|
description
|
计划的说明。 默认值: None
|
pipeline_parameters
|
用于分配新值的参数字典 {param name, param value} 默认值: None
|
wait_for_provisioning
|
是否等待计划预配完成。 默认值: False
|
wait_timeout
|
超时之前等待的秒数。 默认值: 3600
|
datastore
|
要监视的已修改/添加 blob 的数据存储。 注意:不支持 VNET 数据存储。 不能与重复周期一起使用。 默认值: None
|
polling_interval
|
轮询已修改/已添加的 Blob 的间隔时间(分钟)。 默认值为 5 分钟。 仅支持 DataStore 计划。 默认值: 5
|
data_path_parameter_name
|
要使用更改的 Blob 路径设置的数据路径管道参数的名称。 仅支持 DataStore 计划。 默认值: None
|
continue_on_step_failure
|
当某个步骤失败时,是否继续执行提交的 PipelineRun 中的其他步骤。 如果提供,这将替代管道的continue_on_step_failure设置。 默认值: None
|
path_on_datastore
|
可选。 要在其中监视已修改/已添加的 Blob 的数据存储上的路径。 注意:path_on_datastore将在数据存储的容器下,因此计划将监视的实际路径将是容器/path_on_datastore。 如果没有此路径,将监视数据存储容器。 不会监视在path_on_datastore的子文件夹中所做的添加/修改。 仅支持 DataStore 计划。 默认值: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
创建的计划。 |
disable
enable
get
获取具有给定 ID 的计划。
static get(workspace, id, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
计划创建的工作区。 |
id
必需
|
计划的 ID。 |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
Schedule 对象 |
get_all
获取当前工作区中的所有计划。
已弃用:此方法被弃用,转而支持 list 该方法。
static get_all(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
active_only
|
如果为 true,则仅返回当前处于活动状态的计划。 仅当未提供管道 ID 时适用。 默认值: True
|
pipeline_id
|
如果提供,则仅返回具有给定 ID 的管道的计划。 默认值: None
|
pipeline_endpoint_id
|
如果提供,则仅返回具有给定 ID 的管道终结点的计划。 默认值: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
列表 Schedule。 |
get_last_pipeline_run
get_pipeline_runs
get_schedules_for_pipeline_endpoint_id
获取给定管道终结点 ID 的所有计划。
static get_schedules_for_pipeline_endpoint_id(workspace, pipeline_endpoint_id, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
pipeline_endpoint_id
必需
|
管道终结点 ID。 |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
列表 Schedule。 |
get_schedules_for_pipeline_id
获取给定管道 ID 的所有计划。
static get_schedules_for_pipeline_id(workspace, pipeline_id, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
pipeline_id
必需
|
管道 ID。 |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
列表 Schedule。 |
list
获取当前工作区中的所有计划。
static list(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
active_only
|
如果为 true,则仅返回当前处于活动状态的计划。 仅当未提供管道 ID 时适用。 默认值: True
|
pipeline_id
|
如果提供,则仅返回具有给定 ID 的管道的计划。 默认值: None
|
pipeline_endpoint_id
|
如果提供,则仅返回具有给定 ID 的管道终结点的计划。 默认值: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
列表 Schedule。 |
load_yaml
加载并读取 YAML 文件以获取计划参数。
YAML 文件是传递计划参数以创建计划的方法之一。
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
filename
必需
|
具有位置的 YAML 文件名。 |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流提供程序。 默认值: None
|
_service_endpoint
|
服务终结点。 默认值: None
|
返回
类型 | 说明 |
---|---|
参数和值的字典 Schedule 。 |
注解
计划支持两种类型的 YAML。 第一个读取并加载定期信息,以便计划创建以触发管道。 第二个读取和加载数据存储信息,以便计划创建以触发管道。
创建将定期提交管道的计划的示例,如下所示:
from azureml.pipeline.core import Schedule
schedule_info = Schedule.load_yaml(workspace=workspace,
filename='./yaml/test_schedule_with_recurrence.yaml')
schedule = Schedule.create(workspace, name="TestSchedule", pipeline_id="pipeline_id",
experiment_name="helloworld", recurrence=schedule_info.get("recurrence"),
description=schedule_info.get("description"))
示例 YAML 文件 test_schedule_with_recurrence.yaml:
Schedule:
description: "Test create with recurrence"
recurrence:
frequency: Week # Can be "Minute", "Hour", "Day", "Week", or "Month".
interval: 1 # how often fires
start_time: 2019-06-07T10:50:00
time_zone: UTC
hours:
- 1
minutes:
- 0
time_of_day: null
week_days:
- Friday
pipeline_parameters: {'a':1}
wait_for_provisioning: True
wait_timeout: 3600
datastore_name: ~
polling_interval: ~
data_path_parameter_name: ~
continue_on_step_failure: None
path_on_datastore: ~
创建将在数据存储上提交管道的计划的示例,如下所示:
from azureml.pipeline.core import Schedule
schedule_info = Schedule.load_yaml(workspace=workspace,
filename='./yaml/test_schedule_with_datastore.yaml')
schedule = Schedule.create(workspace, name="TestSchedule", pipeline_id="pipeline_id",
experiment_name="helloworld",datastore=schedule_info.get("datastore_name"),
polling_interval=schedule_info.get("polling_interval"),
data_path_parameter_name=schedule_info.get("data_path_parameter_name"),
continue_on_step_failure=schedule_info.get("continue_on_step_failure"),
path_on_datastore=schedule_info.get("path_on_datastore"))
update
更新计划。
update(name=None, description=None, recurrence=None, pipeline_parameters=None, status=None, wait_for_provisioning=False, wait_timeout=3600, datastore=None, polling_interval=None, data_path_parameter_name=None, continue_on_step_failure=None, path_on_datastore=None)
参数
名称 | 说明 |
---|---|
name
|
计划的新名称。 默认值: None
|
recurrence
|
管道的新计划重复周期。 默认值: None
|
description
|
计划的新说明。 默认值: None
|
pipeline_parameters
|
用于分配新值 {param name, param value} 的参数字典。 默认值: None
|
status
|
计划的新状态:“活动”或“已禁用”。 默认值: None
|
wait_for_provisioning
|
是否等待计划预配完成。 默认值: False
|
wait_timeout
|
超时之前等待的秒数。 默认值: 3600
|
datastore
|
要监视的已修改/添加 blob 的数据存储。 注意:不支持 VNET 数据存储。 默认值: None
|
polling_interval
|
轮询已修改/已添加的 Blob 的间隔时间(分钟)。 默认值为 5 分钟。 默认值: None
|
data_path_parameter_name
|
要使用更改的 Blob 路径设置的数据路径管道参数的名称。 默认值: None
|
continue_on_step_failure
|
当某个步骤失败时,是否继续执行提交的 PipelineRun 中的其他步骤。 如果提供,这将替代管道的continue_on_step_failure设置。 默认值: None
|
path_on_datastore
|
可选。 要在其中监视已修改/已添加的 Blob 的数据存储上的路径。 注意:path_on_datastore将在数据存储的容器下,因此计划将监视的实际路径将是容器/path_on_datastore。 如果没有此路径,将监视数据存储容器。 不会监视在path_on_datastore的子文件夹中所做的添加/修改。 仅支持 DataStore 计划。 默认值: None
|