共用方式為


Schedule 類別

定義要提交管線的排程。

發佈管線之後,排程可用來以指定的間隔提交管線,或偵測到 Blob 儲存體位置的變更時。

初始化排程。

繼承
builtins.object
Schedule

建構函式

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)

參數

名稱 Description
workspace
必要

此排程所屬的工作區物件。

id
必要
str

排程的識別碼。

name
必要
str

排程的名稱。

description
必要
str

排程的描述。

pipeline_id
必要
str

排程將提交的管線識別碼。

status
必要
str

排程的狀態,可以是 'Active' 或 'Disabled'。

recurrence
必要

管線的排程週期。

datastore_name
必要
str

要監視已修改/新增 Blob 的資料存放區名稱。 注意:不支援 1) VNET 資料存放區。 2) 資料存放區的驗證類型應設定為「帳戶金鑰」。

polling_interval
必要
int

已修改/已新增的 Blob 兩次輪詢之間間隔的時間 (以分鐘為單位)。

data_path_parameter_name
必要
str

要使用已變更的 Blob 路徑來設定的資料路徑管線參數名稱。

continue_on_step_failure
必要

在步驟失敗時,是否要繼續執行所提交 Pipelinerun 中的其他步驟。 如果提供,這會覆寫管線的continue_on_step_failure設定。

path_on_datastore
必要
str

選擇性。 要監視已修改/已新增 Blob 的資料存放區上的路徑。 注意:path_on_datastore會位於資料存放區的容器底下,因此排程將監視的實際路徑會是容器/path_on_datastore。 如果沒有,則會監視資料存放區容器。 不會監視path_on_datastore子資料夾中所做的新增/修改。 僅支援 DataStore 排程。

_schedule_provider
<xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>

排程提供者。

預設值: None
workspace
必要

此排程所屬的工作區物件。

id
必要
str

排程的識別碼。

name
必要
str

排程的名稱。

description
必要
str

排程的描述。

pipeline_id
必要
str

排程將提交的管線識別碼。

status
必要
str

排程的狀態,可以是 'Active' 或 'Disabled'。

recurrence
必要

管線的排程週期。

datastore_name
必要
str

要監視已修改/新增 Blob 的資料存放區名稱。 注意:不支援 VNET 資料存放區。

polling_interval
必要
int

已修改/已新增的 Blob 兩次輪詢之間間隔的時間 (以分鐘為單位)。

data_path_parameter_name
必要
str

要使用已變更的 Blob 路徑來設定的資料路徑管線參數名稱。

continue_on_step_failure
必要

在步驟失敗時,是否要繼續執行所提交 Pipelinerun 中的其他步驟。 如果提供,這會覆寫管線的continue_on_step_failure設定。

path_on_datastore
必要
str

選擇性。 要監視已修改/已新增 Blob 的資料存放區上的路徑。 注意:path_on_datastore會位於資料存放區的容器底下,因此排程將監視的實際路徑會是容器/path_on_datastore。 如果沒有,則會監視資料存放區容器。 不會監視path_on_datastore子資料夾中所做的新增/修改。 僅支援 DataStore 排程。

_schedule_provider
必要
<xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>

排程提供者。

pipeline_endpoint_id
str

排程將提交的管線端點識別碼。

預設值: 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,則path_on_datastore子資料夾中的 blob 新增/修改或資料存放區容器 (。

此外,如果管線已建構為使用 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

將排程設定為 [已停用],且無法執行。

enable

將排程設定為 [作用中],並可供執行。

get

取得具有指定識別碼的排程。

get_all

取得目前工作區中的所有排程。

已被取代:這個方法已被取代,而不是 list 方法。

get_last_pipeline_run

擷取排程所提交的最後一個管線執行。 如果未提交任何執行,則會傳回 None。

get_pipeline_runs

擷取從排程產生的管線執行。

get_schedules_for_pipeline_endpoint_id

取得指定管線端點識別碼的所有排程。

get_schedules_for_pipeline_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)

參數

名稱 Description
workspace
必要

此排程所屬的工作區物件。

name
必要
str

排程的名稱。

pipeline_id
必要
str

排程將提交的管線識別碼。

experiment_name
必要
str

排程將提交執行的實驗名稱。

recurrence

管線的排程週期。

預設值: None
description
str

排程的描述。

預設值: None
pipeline_parameters

要指派新值的參數字典 {param name, param value}

預設值: None
wait_for_provisioning

是否要等候排程佈建完成。

預設值: False
wait_timeout
int

逾時之前所要等候的秒數。

預設值: 3600
datastore

要監視已修改/新增 Blob 的資料存放區。 注意:不支援 VNET 資料存放區。 無法與週期搭配使用。

預設值: None
polling_interval
int

已修改/已新增的 Blob 兩次輪詢之間間隔的時間 (以分鐘為單位)。 預設值為 5 分鐘。 僅支援 DataStore 排程。

預設值: 5
data_path_parameter_name
str

要使用已變更的 Blob 路徑來設定的資料路徑管線參數名稱。 僅支援 DataStore 排程。

預設值: None
continue_on_step_failure

在步驟失敗時,是否要繼續執行所提交 Pipelinerun 中的其他步驟。 如果提供,這會覆寫管線的continue_on_step_failure設定。

預設值: None
path_on_datastore
str

選擇性。 要監視已修改/已新增 Blob 的資料存放區上的路徑。 注意:path_on_datastore將會位於資料存放區的容器底下,因此排程將會監視的實際路徑將是容器/path_on_datastore。 如果沒有,則會監視資料存放區容器。 不會監視path_on_datastore子資料夾中所做的新增/修改。 僅支援 DataStore 排程。

預設值: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

建立的排程。

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)

參數

名稱 Description
workspace
必要

此 Schedule 所屬的工作區物件。

name
必要
str

Schedule 的名稱。

pipeline_endpoint_id
必要
str

排程將提交的管線端點識別碼。

experiment_name
必要
str

排程將提交執行的實驗名稱。

recurrence

管線的排程週期。

預設值: None
description
str

排程的描述。

預設值: None
pipeline_parameters

要指派新值 {param name, param value} 的參數字典

預設值: None
wait_for_provisioning

是否要等候排程佈建完成。

預設值: False
wait_timeout
int

逾時之前所要等候的秒數。

預設值: 3600
datastore

要監視已修改/新增 Blob 的資料存放區。 注意:不支援 VNET 資料存放區。 無法搭配週期使用。

預設值: None
polling_interval
int

已修改/已新增的 Blob 兩次輪詢之間間隔的時間 (以分鐘為單位)。 預設值為 5 分鐘。 僅支援 DataStore 排程。

預設值: 5
data_path_parameter_name
str

要使用已變更的 Blob 路徑來設定的資料路徑管線參數名稱。 僅支援 DataStore 排程。

預設值: None
continue_on_step_failure

在步驟失敗時,是否要繼續執行所提交 Pipelinerun 中的其他步驟。 如果提供,這會覆寫管線的continue_on_step_failure設定。

預設值: None
path_on_datastore
str

選擇性。 要監視已修改/已新增 Blob 的資料存放區上的路徑。 注意:path_on_datastore將會位於資料存放區的容器底下,因此排程將會監視的實際路徑將是容器/path_on_datastore。 如果沒有,則會監視資料存放區容器。 不會監視path_on_datastore子資料夾中所做的新增/修改。 僅支援 DataStore 排程。

預設值: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

建立的排程。

disable

將排程設定為 [已停用],且無法執行。

disable(wait_for_provisioning=False, wait_timeout=3600)

參數

名稱 Description
wait_for_provisioning

是否要等候排程佈建完成。

預設值: False
wait_timeout
int

逾時前等待的秒數。

預設值: 3600

enable

將排程設定為 [作用中],並可供執行。

enable(wait_for_provisioning=False, wait_timeout=3600)

參數

名稱 Description
wait_for_provisioning

是否要等候排程佈建完成。

預設值: False
wait_timeout
int

逾時前等待的秒數。

預設值: 3600

get

取得具有指定識別碼的排程。

static get(workspace, id, _workflow_provider=None, _service_endpoint=None)

參數

名稱 Description
workspace
必要

排程建立所在的工作區。

id
必要
str

排程的識別碼。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

Schedule 物件

get_all

取得目前工作區中的所有排程。

已被取代:這個方法已被取代,而不是 list 方法。

static get_all(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)

參數

名稱 Description
workspace
必要

工作區。

active_only

如果為 true,則只會傳回目前作用中的排程。 只有在未提供管線識別碼時才適用。

預設值: True
pipeline_id
str

如果提供,則只會傳回具有指定識別碼之管線的排程。

預設值: None
pipeline_endpoint_id
str

如果提供,則只會傳回具有指定識別碼之管線端點的排程。

預設值: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

的清單 Schedule

get_last_pipeline_run

擷取排程所提交的最後一個管線執行。 如果未提交任何執行,則會傳回 None。

get_last_pipeline_run()

傳回

類型 Description

最後一個管線執行。

get_pipeline_runs

擷取從排程產生的管線執行。

get_pipeline_runs()

傳回

類型 Description

的清單 PipelineRun

get_schedules_for_pipeline_endpoint_id

取得指定管線端點識別碼的所有排程。

static get_schedules_for_pipeline_endpoint_id(workspace, pipeline_endpoint_id, _workflow_provider=None, _service_endpoint=None)

參數

名稱 Description
workspace
必要

工作區。

pipeline_endpoint_id
必要
str

管線端點識別碼。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

的清單 Schedule

get_schedules_for_pipeline_id

取得指定管線識別碼的所有排程。

static get_schedules_for_pipeline_id(workspace, pipeline_id, _workflow_provider=None, _service_endpoint=None)

參數

名稱 Description
workspace
必要

工作區。

pipeline_id
必要
str

管線識別碼。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

的清單 Schedule

list

取得目前工作區中的所有排程。

static list(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)

參數

名稱 Description
workspace
必要

工作區。

active_only

如果為 true,則只會傳回目前作用中的排程。 只有在未提供管線識別碼時才適用。

預設值: True
pipeline_id
str

如果提供,則只會傳回具有指定識別碼之管線的排程。

預設值: None
pipeline_endpoint_id
str

如果提供,則只會傳回具有指定識別碼之管線端點的排程。

預設值: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

的清單 Schedule

load_yaml

載入並讀取 YAML 檔案以取得排程參數。

YAML 檔案是傳遞排程參數以建立排程的一種方式。

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

參數

名稱 Description
workspace
必要

工作區。

filename
必要
str

具有位置的 YAML 檔案名。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

工作流程提供者。

預設值: None
_service_endpoint
str

服務端點。

預設值: None

傳回

類型 Description

參數和值的字典 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)

參數

名稱 Description
name
str

排程的新名稱。

預設值: None
recurrence

管線的新排程週期。

預設值: None
description
str

排程的新描述。

預設值: None
pipeline_parameters

要指派新值 {param name, param value} 的參數字典。

預設值: None
status
str

排程的新狀態:'Active' 或 'Disabled'。

預設值: None
wait_for_provisioning

是否要等候排程佈建完成。

預設值: False
wait_timeout
int

逾時之前所要等候的秒數。

預設值: 3600
datastore

要監視已修改/新增 Blob 的資料存放區。 注意:不支援 VNET 資料存放區。

預設值: None
polling_interval
int

已修改/已新增的 Blob 兩次輪詢之間間隔的時間 (以分鐘為單位)。 預設值為 5 分鐘。

預設值: None
data_path_parameter_name
str

要使用已變更的 Blob 路徑來設定的資料路徑管線參數名稱。

預設值: None
continue_on_step_failure

在步驟失敗時,是否要繼續執行所提交 Pipelinerun 中的其他步驟。 如果提供,這會覆寫管線的continue_on_step_failure設定。

預設值: None
path_on_datastore
str

選擇性。 要監視已修改/已新增 Blob 的資料存放區上的路徑。 注意:path_on_datastore會位於資料存放區的容器底下,因此排程將監視的實際路徑會是容器/path_on_datastore。 如果沒有,則會監視資料存放區容器。 不會監視path_on_datastore子資料夾中所做的新增/修改。 僅支援 DataStore 排程。

預設值: None

屬性

continue_on_step_failure

取得設定的值 continue_on_step_failure

傳回

類型 Description

設定的值 continue_on_step_failure

data_path_parameter_name

取得資料路徑管線參數的名稱,以變更的 Blob 路徑進行設定。

傳回

類型 Description
str

資料路徑參數名稱。

datastore_name

取得用於排程的資料存放區名稱。

傳回

類型 Description
str

資料存放區名稱。

description

取得排程的描述。

傳回

類型 Description
str

排程的描述。

id

取得排程的識別碼。

傳回

類型 Description
str

ID。

name

取得排程的名稱。

傳回

類型 Description
str

名稱。

path_on_datastore

取得排程監視的資料存放區路徑。

傳回

類型 Description
str

資料存放區上的路徑。

pipeline_endpoint_id

取得排程提交之管線端點的識別碼。

傳回

類型 Description
str

ID。

pipeline_id

取得排程提交之管線的識別碼。

傳回

類型 Description
str

ID。

polling_interval

取得輪詢已修改/新增 Blob 之間的時間長度,以分鐘為單位。

傳回

類型 Description
int

輪詢間隔。

recurrence

取得排程週期。

傳回

類型 Description

排程週期。

status

取得排程的狀態。

傳回

類型 Description
str

排程的狀態。