Schedule クラス
パイプラインを送信するスケジュールを定義します。
パイプラインが発行されると、スケジュールを使用して、指定した間隔で、または BLOB ストレージの場所に対する変更が検出されたときにパイプラインを送信できます。
スケジュールを初期化します。
- 継承
-
builtins.objectSchedule
コンストラクター
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)
パラメーター
- datastore_name
- str
変更または追加された BLOB を監視するデータストアの名前。 注: 1) VNET データストアはサポートされていません。 2) データストアの認証の種類を "アカウント キー" に設定する必要があります。
- continue_on_step_failure
- bool
送信された PipelineRun 内の 1 つのステップが失敗した場合に、他のステップの実行を続行するかどうかを指定します。 指定した場合、パイプラインの continue_on_step_failure 設定をオーバーライドします。
- path_on_datastore
- str
省略可能。 変更または追加された BLOB を監視するデータストア上のパス。 注: path_on_datastore はデータストアのコンテナー配下になるため、スケジュールによって監視される実際のパスは container/path_on_datastore になります。 存在しない場合は、データストア コンテナーが監視されます。 path_on_datastore のサブフォルダーに加えられた追加や変更は監視されません。 データストアのスケジュールでのみサポートされます。
- _schedule_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>
スケジュール プロバイダー。
- continue_on_step_failure
- bool
送信された PipelineRun 内の 1 つのステップが失敗した場合に、他のステップの実行を続行するかどうかを指定します。 指定した場合、パイプラインの continue_on_step_failure 設定をオーバーライドします。
- path_on_datastore
- str
省略可能。 変更または追加された BLOB を監視するデータストア上のパス。 注: path_on_datastore はデータストアのコンテナー配下になるため、スケジュールによって監視される実際のパスは container/path_on_datastore になります。 存在しない場合は、データストア コンテナーが監視されます。 path_on_datastore のサブフォルダーに加えられた追加や変更は監視されません。 データストアのスケジュールでのみサポートされます。
- _schedule_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>
スケジュール プロバイダー。
注釈
2 種類のスケジュールがサポートされています。 1 つは、時間の繰り返しを使用して、指定されたスケジュールでパイプラインを送信するものです。 もう 1 つは、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)
このスケジュールは、指定された PublishedPipeline を 12 時間ごとに送信します。 送信されたパイプラインは、"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 パラメーターを使用して、PipelineRun がスケジュールによって送信されたときの変更済みファイルへの入力を設定します。
次の例では、スケジュールによって 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 |
スケジュールを 'Active' および実行可能に設定します。 |
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 ファイルは、Schedule のパラメーターを渡してスケジュールを作成するもう 1 つの方法です。 |
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)
パラメーター
- datastore
- AzureBlobDatastore
変更または追加された BLOB を監視するデータストア。 注: VNET データストアはサポートされていません。 繰り返しと一緒には使用できません。
- data_path_parameter_name
- str
変更された BLOB パスで設定するデータ パス パイプライン パラメーターの名前。 データストアのスケジュールでのみサポートされます。
- continue_on_step_failure
- bool
送信された PipelineRun 内の 1 つのステップが失敗した場合に、他のステップの実行を続行するかどうかを指定します。 指定した場合、パイプラインの continue_on_step_failure 設定をオーバーライドします。
- path_on_datastore
- str
省略可能。 変更または追加された BLOB を監視するデータストア上のパス。 注: path_on_datastore はデータストアのコンテナー配下になるため、スケジュールによって監視される実際のパスは container/path_on_datastore になります。 存在しない場合は、データストア コンテナーが監視されます。 path_on_datastore のサブフォルダーに加えられた追加や変更は監視されません。 データストアのスケジュールでのみサポートされます。
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
作成されたスケジュール。
の戻り値の型 :
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)
パラメーター
- datastore
- AzureBlobDatastore
変更または追加された BLOB を監視するデータストア。 注: VNET データストアはサポートされていません。 繰り返しと一緒には使用できません。
- data_path_parameter_name
- str
変更された BLOB パスで設定するデータ パス パイプライン パラメーターの名前。 データストアのスケジュールでのみサポートされます。
- continue_on_step_failure
- bool
送信された PipelineRun 内の 1 つのステップが失敗した場合に、他のステップの実行を続行するかどうかを指定します。 指定した場合、パイプラインの continue_on_step_failure 設定をオーバーライドします。
- path_on_datastore
- str
省略可能。 変更または追加された BLOB を監視するデータストア上のパス。 注: path_on_datastore はデータストアのコンテナー配下になるため、スケジュールによって監視される実際のパスは container/path_on_datastore になります。 存在しない場合は、データストア コンテナーが監視されます。 path_on_datastore のサブフォルダーに加えられた追加や変更は監視されません。 データストアのスケジュールでのみサポートされます。
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
作成されたスケジュール。
の戻り値の型 :
disable
スケジュールを 'Disabled' および実行不可能に設定します。
disable(wait_for_provisioning=False, wait_timeout=3600)
パラメーター
enable
スケジュールを 'Active' および実行可能に設定します。
enable(wait_for_provisioning=False, wait_timeout=3600)
パラメーター
get
指定された ID のスケジュールを取得します。
static get(workspace, id, _workflow_provider=None, _service_endpoint=None)
パラメーター
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
schedule オブジェクト
の戻り値の型 :
get_all
現在のワークスペース内のすべてのスケジュールを取得します。
非推奨: このメソッドは非推奨になり、list メソッドに置き換えられます。
static get_all(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)
パラメーター
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
Schedule の一覧。
の戻り値の型 :
get_last_pipeline_run
スケジュールによって送信された最後のパイプライン実行をフェッチします。 実行が送信されていない場合は None を返します。
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)
パラメーター
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
Schedule の一覧。
の戻り値の型 :
get_schedules_for_pipeline_id
指定されたパイプライン ID のすべてのスケジュールを取得します。
static get_schedules_for_pipeline_id(workspace, pipeline_id, _workflow_provider=None, _service_endpoint=None)
パラメーター
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
Schedule の一覧。
の戻り値の型 :
list
現在のワークスペース内のすべてのスケジュールを取得します。
static list(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)
パラメーター
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
Schedule の一覧。
の戻り値の型 :
load_yaml
YAML ファイルを読み込んで読み取り、スケジュール パラメーターを取得します。
YAML ファイルは、Schedule のパラメーターを渡してスケジュールを作成するもう 1 つの方法です。
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
パラメーター
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
ワークフロー プロバイダー。
戻り値
Schedule のパラメーターと値の辞書。
の戻り値の型 :
注釈
スケジュールでは、2 種類の YAML がサポートされています。 1 つは、スケジュール作成の繰り返し情報の読み取りと読み込みによって、パイプラインをトリガーするものです。 もう 1 つは、スケジュール作成のデータストア情報の読み取りと読み込みによって、パイプラインをトリガーするものです。
繰り返しでパイプラインを送信するスケジュールを作成する例は、次のようになります。
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)
パラメーター
- continue_on_step_failure
- bool
送信された PipelineRun 内の 1 つのステップが失敗した場合に、他のステップの実行を続行するかどうかを指定します。 指定した場合、パイプラインの continue_on_step_failure 設定をオーバーライドします。
- path_on_datastore
- str
省略可能。 変更または追加された BLOB を監視するデータストア上のパス。 注: path_on_datastore はデータストアのコンテナー配下になるため、スケジュールによって監視される実際のパスは container/path_on_datastore になります。 存在しない場合は、データストア コンテナーが監視されます。 path_on_datastore のサブフォルダーに加えられた追加や変更は監視されません。 データストアのスケジュールでのみサポートされます。
属性
continue_on_step_failure
data_path_parameter_name
datastore_name
description
id
name
path_on_datastore
pipeline_endpoint_id
pipeline_id
polling_interval
recurrence
status
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示