Schedule Classe
Define um agendamento para enviar um pipeline.
Depois que um pipeline é publicado, um agendamento pode ser usado para enviá-lo em um intervalo especificado ou quando alterações são detectadas em um local de armazenamento de blobs.
Inicializar Agenda.
- Herança
-
builtins.objectSchedule
Construtor
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)
Parâmetros
- datastore_name
- str
O nome do armazenamento de dados para monitorar blobs modificados/adicionados. Observação: 1) Não há suporte para armazenamentos de dados de VNET. 2) O tipo de autenticação do armazenamento de dados deve ser definido como "Chave de conta".
- polling_interval
- int
Por quanto tempo, em minutos, entre a sondagem para blobs modificados/adicionados.
- data_path_parameter_name
- str
O nome do parâmetro de pipeline de caminho de dados a ser definido com o caminho de blob alterado.
- continue_on_step_failure
- bool
Se deseja continuar a execução de outras etapas no PipelineRun enviado se uma etapa falhar. Se fornecido, substituirá a configuração continue_on_step_failure do pipeline.
- path_on_datastore
- str
Opcional. O caminho no armazenamento de dados a ser monitorado para blobs modificados/adicionados. Observação: path_on_datastore estará no contêiner para o armazenamento de dados, portanto, o caminho real que o agendamento monitorará será container/path_on_datastore. Se nenhum, será monitorado o contêiner do armazenamento de dados. Adições/modificações feitas em uma subpasta de path_on_datastore não são monitoradas. Com suporte somente para agendamentos de armazenamento de dados.
- _schedule_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>
O provedor de agendamento.
- datastore_name
- str
O nome do armazenamento de dados para monitorar blobs modificados/adicionados. Observação: não há suporte para armazenamentos de dados de VNet.
- polling_interval
- int
Por quanto tempo, em minutos, entre a sondagem para blobs modificados/adicionados.
- data_path_parameter_name
- str
O nome do parâmetro de pipeline de caminho de dados a ser definido com o caminho de blob alterado.
- continue_on_step_failure
- bool
Se deseja continuar a execução de outras etapas no PipelineRun enviado se uma etapa falhar. Se fornecido, substituirá a configuração continue_on_step_failure do pipeline.
- path_on_datastore
- str
Opcional. O caminho no armazenamento de dados a ser monitorado para blobs modificados/adicionados. Observação: path_on_datastore estará no contêiner para o armazenamento de dados, portanto, o caminho real que o agendamento monitorará será container/path_on_datastore. Se nenhum, será monitorado o contêiner do armazenamento de dados. Adições/modificações feitas em uma subpasta de path_on_datastore não são monitoradas. Com suporte somente para agendamentos de armazenamento de dados.
- _schedule_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaScheduleProvider>
O provedor de agendamento.
- pipeline_endpoint_id
- str
A ID do ponto de extremidade do pipeline que o agendamento enviará.
Comentários
Há suporte para dois tipos de agendamentos. O primeiro usa a recorrência de tempo para enviar um pipeline em um determinado agendamento. O segundo monitora um AzureBlobDatastore quanto a blobs adicionados ou modificados e envia um pipeline quando alterações são detectadas.
Para criar um agendamento que enviará um pipeline em um agendamento recorrente, use ScheduleRecurrence ao criar o agendamento.
Uma ScheduleRecurrence é usada ao criar um Agendamento para um Pipeline da seguinte forma:
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)
Esse agendamento enviará o PublishedPipeline fornecido a cada 12 horas. O pipeline enviado será criado no experimento com o nome "helloworld".
Para criar um agendamento que disparará PipelineRuns em modificações feitas em um local de armazenamento de blob, especifique um armazenamento de dados e informações de dados relacionadas ao criar o agendamento.
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")
Observe que os parâmetros polling_interval e path_on_datastore são opcionais. polling_interval especifica com que frequência sondar modificações no armazenamento de dados e tem como valor, por padrão, cinco minutos. path_on_datastore pode ser usado para especificar em qual pasta no armazenamento de dados monitorar as alterações. Se Nenhum, o contêiner do armazenamento de dados será monitorado. Observação: não são detectadas adições/modificações de blob em subpastas de path_on_datastore ou do contêiner de armazenamento de dados (se path_on_datastore não for especificado).
Além disso, se o pipeline foi criado para usar um DataPathPipelineParameter a fim de descrever uma entrada de etapa, use o parâmetro data_path_parameter_name ao criar um agendamento disparado por armazenamento de dados a fim de definir a entrada para o arquivo alterado quando uma PipelineRun for enviada pelo agendamento.
No exemplo a seguir, quando o agendamento disparar a PipelineRun, o valor de PipelineParameter "input_data" será definido como o arquivo modificado/adicionado:
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")
Para saber mais sobre agendamentos, confira: https://aka.ms/pl-schedule.
Métodos
create |
Criar um agendamento para um pipeline. Especifique a recorrência de um agendamento baseado em tempo ou especifique um armazenamento de dados, (opcional) polling_interval e (opcional) data_path_parameter_name para criar um agendamento que monitorará o local do armazenamento de dados em busca de modificações/adições. |
create_for_pipeline_endpoint |
Criar um agendamento para um ponto de extremidade de pipeline. Especifique a recorrência de um agendamento baseado em tempo ou especifique um armazenamento de dados, (opcional) polling_interval e (opcional) data_path_parameter_name para criar um agendamento que monitorará o local do armazenamento de dados em busca de modificações/adições. |
disable |
Definir o agendamento como "Desabilitado" e não disponível para execução. |
enable |
Definir o agendamento como "Ativo" e disponível para execução. |
get |
Obter o agendamento com a ID especificada. |
get_all |
Obter todos os agendamentos no workspace atual. PRETERIDO: esse método está sendo preterido e substituído pelo método list. |
get_last_pipeline_run |
Buscar a última execução de pipeline enviada pelo agendamento. Retorna Nenhum se nenhuma das execuções tiver sido enviada. |
get_pipeline_runs |
Buscar as execuções de pipeline que foram geradas a partir do agendamento. |
get_schedules_for_pipeline_endpoint_id |
Obter todos os agendamentos de uma determinada ID de ponto de extremidade de pipeline. |
get_schedules_for_pipeline_id |
Obter todos os agendamentos da ID de pipeline especificada. |
list |
Obter todos os agendamentos no workspace atual. |
load_yaml |
Carregar e ler o arquivo YAML para obter os parâmetros de agendamento. O arquivo YAML é mais uma maneira de transmitir parâmetros de agendamento para criar agendamentos. |
update |
Atualizar o agendamento. |
create
Criar um agendamento para um pipeline.
Especifique a recorrência de um agendamento baseado em tempo ou especifique um armazenamento de dados, (opcional) polling_interval e (opcional) data_path_parameter_name para criar um agendamento que monitorará o local do armazenamento de dados em busca de modificações/adições.
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)
Parâmetros
- pipeline_parameters
- dict
Um dicionário de parâmetros para atribuir novos valores {nome do parâmetro, valor do parâmetro}
- wait_for_provisioning
- bool
Se deve aguardar a conclusão do provisionamento da agenda.
- wait_timeout
- int
O número de segundos a aguardar antes de esgotar o tempo limite.
- datastore
- AzureBlobDatastore
O armazenamento de dados para monitorar blobs modificados/adicionados. Observação: não há suporte para armazenamentos de dados de VNet. Não é possível usar com uma recorrência.
- polling_interval
- int
Por quanto tempo, em minutos, entre a sondagem para blobs modificados/adicionados. O padrão é de 5 minutos. Com suporte somente para agendamentos de armazenamento de dados.
- data_path_parameter_name
- str
O nome do parâmetro de pipeline de caminho de dados a ser definido com o caminho de blob alterado. Com suporte somente para agendamentos de armazenamento de dados.
- continue_on_step_failure
- bool
Se deseja continuar a execução de outras etapas no PipelineRun enviado se uma etapa falhar. Se fornecido, substituirá a configuração continue_on_step_failure do pipeline.
- path_on_datastore
- str
Opcional. O caminho no armazenamento de dados a ser monitorado para blobs modificados/adicionados. Observação: path_on_datastore estará no contêiner para o armazenamento de dados, portanto, o caminho real que o agendamento monitorará será container/path_on_datastore. Se nenhum, será monitorado o contêiner do armazenamento de dados. Adições/modificações feitas em uma subpasta de path_on_datastore não são monitoradas. Com suporte somente para agendamentos de armazenamento de dados.
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
O agendamento criado.
Tipo de retorno
create_for_pipeline_endpoint
Criar um agendamento para um ponto de extremidade de pipeline.
Especifique a recorrência de um agendamento baseado em tempo ou especifique um armazenamento de dados, (opcional) polling_interval e (opcional) data_path_parameter_name para criar um agendamento que monitorará o local do armazenamento de dados em busca de modificações/adições.
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)
Parâmetros
- pipeline_endpoint_id
- str
A ID do ponto de extremidade do pipeline que o agendamento enviará.
- pipeline_parameters
- dict
Um dicionário de parâmetros para atribuir novos valores {nome do parâmetro, valor do parâmetro}
- wait_for_provisioning
- bool
Se deve aguardar a conclusão do provisionamento da agenda.
- wait_timeout
- int
O número de segundos a aguardar antes de esgotar o tempo limite.
- datastore
- AzureBlobDatastore
O armazenamento de dados para monitorar blobs modificados/adicionados. Observação: não há suporte para armazenamentos de dados de VNet. Não é possível usar com uma recorrência.
- polling_interval
- int
Por quanto tempo, em minutos, entre a sondagem para blobs modificados/adicionados. O padrão é de 5 minutos. Com suporte somente para agendamentos de armazenamento de dados.
- data_path_parameter_name
- str
O nome do parâmetro de pipeline de caminho de dados a ser definido com o caminho de blob alterado. Com suporte somente para agendamentos de armazenamento de dados.
- continue_on_step_failure
- bool
Se deseja continuar a execução de outras etapas no PipelineRun enviado se uma etapa falhar. Se fornecido, substituirá a configuração continue_on_step_failure do pipeline.
- path_on_datastore
- str
Opcional. O caminho no armazenamento de dados a ser monitorado para blobs modificados/adicionados. Observação: path_on_datastore estará no contêiner para o armazenamento de dados, portanto, o caminho real que o agendamento monitorará será container/path_on_datastore. Se nenhum, será monitorado o contêiner do armazenamento de dados. Adições/modificações feitas em uma subpasta de path_on_datastore não são monitoradas. Com suporte somente para agendamentos de armazenamento de dados.
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
O agendamento criado.
Tipo de retorno
disable
Definir o agendamento como "Desabilitado" e não disponível para execução.
disable(wait_for_provisioning=False, wait_timeout=3600)
Parâmetros
- wait_for_provisioning
- bool
Se deve aguardar a conclusão do provisionamento da agenda.
enable
Definir o agendamento como "Ativo" e disponível para execução.
enable(wait_for_provisioning=False, wait_timeout=3600)
Parâmetros
- wait_for_provisioning
- bool
Se deve aguardar a conclusão do provisionamento da agenda.
get
Obter o agendamento com a ID especificada.
static get(workspace, id, _workflow_provider=None, _service_endpoint=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
Objeto Agendamento
Tipo de retorno
get_all
Obter todos os agendamentos no workspace atual.
PRETERIDO: esse método está sendo preterido e substituído pelo método list.
static get_all(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)
Parâmetros
- active_only
- bool
Se true, retornará somente agendamentos ativos no momento. Aplica-se somente se nenhuma ID de pipeline for fornecida.
- pipeline_id
- str
Se a ID for fornecida, retornará somente agendamentos para o pipeline respectivo.
- pipeline_endpoint_id
- str
Se a ID for fornecida, retornará somente agendamentos para o respectivo ponto de extremidade de pipeline.
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
Uma lista de Schedule.
Tipo de retorno
get_last_pipeline_run
Buscar a última execução de pipeline enviada pelo agendamento. Retorna Nenhum se nenhuma das execuções tiver sido enviada.
get_last_pipeline_run()
Retornos
A última execução de pipeline.
Tipo de retorno
get_pipeline_runs
Buscar as execuções de pipeline que foram geradas a partir do agendamento.
get_pipeline_runs()
Retornos
Uma lista de PipelineRun.
Tipo de retorno
get_schedules_for_pipeline_endpoint_id
Obter todos os agendamentos de uma determinada ID de ponto de extremidade de pipeline.
static get_schedules_for_pipeline_endpoint_id(workspace, pipeline_endpoint_id, _workflow_provider=None, _service_endpoint=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
Uma lista de Schedule.
Tipo de retorno
get_schedules_for_pipeline_id
Obter todos os agendamentos da ID de pipeline especificada.
static get_schedules_for_pipeline_id(workspace, pipeline_id, _workflow_provider=None, _service_endpoint=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
Uma lista de Schedule.
Tipo de retorno
list
Obter todos os agendamentos no workspace atual.
static list(workspace, active_only=True, pipeline_id=None, pipeline_endpoint_id=None, _workflow_provider=None, _service_endpoint=None)
Parâmetros
- active_only
- bool
Se true, retornará somente agendamentos ativos no momento. Aplica-se somente se nenhuma ID de pipeline for fornecida.
- pipeline_id
- str
Se a ID for fornecida, retornará somente agendamentos para o pipeline respectivo.
- pipeline_endpoint_id
- str
Se a ID for fornecida, retornará somente agendamentos para o respectivo ponto de extremidade de pipeline.
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
Uma lista de Schedule.
Tipo de retorno
load_yaml
Carregar e ler o arquivo YAML para obter os parâmetros de agendamento.
O arquivo YAML é mais uma maneira de transmitir parâmetros de agendamento para criar agendamentos.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
Retornos
Um dicionário de parâmetros e valores de Schedule.
Tipo de retorno
Comentários
Há suporte para dois tipos de YAML nos agendamentos. O primeiro lê e carrega informações de recorrência para a criação de agendamento a fim de disparar o pipeline. O segundo lê e carrega informações de armazenamento de dados para a criação de agendamento a fim de disparar o pipeline.
Exemplo de criação de um agendamento que enviará um pipeline em uma recorrência, da seguinte forma:
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"))
Arquivo YAML de exemplo 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: ~
Exemplo de criação de um agendamento que enviará um pipeline em um armazenamento de dados, da seguinte forma:
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
Atualizar o agendamento.
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)
Parâmetros
- pipeline_parameters
- dict
Um dicionário de parâmetros para atribuir novos valores {nome do parâmetro, valor do parâmetro}.
- wait_for_provisioning
- bool
Se deve aguardar a conclusão do provisionamento da agenda.
- wait_timeout
- int
O número de segundos a aguardar antes de esgotar o tempo limite.
- datastore
- AzureBlobDatastore
O armazenamento de dados para monitorar blobs modificados/adicionados. Observação: não há suporte para armazenamentos de dados de VNet.
- polling_interval
- int
Por quanto tempo, em minutos, entre a sondagem para blobs modificados/adicionados. O padrão é de 5 minutos.
- data_path_parameter_name
- str
O nome do parâmetro de pipeline de caminho de dados a ser definido com o caminho de blob alterado.
- continue_on_step_failure
- bool
Se deseja continuar a execução de outras etapas no PipelineRun enviado se uma etapa falhar. Se fornecido, substituirá a configuração continue_on_step_failure do pipeline.
- path_on_datastore
- str
Opcional. O caminho no armazenamento de dados a ser monitorado para blobs modificados/adicionados. Observação: path_on_datastore estará no contêiner para o armazenamento de dados, portanto, o caminho real que o agendamento monitorará será container/path_on_datastore. Se nenhum, será monitorado o contêiner do armazenamento de dados. Adições/modificações feitas em uma subpasta de path_on_datastore não são monitoradas. Com suporte somente para agendamentos de armazenamento de dados.
Atributos
continue_on_step_failure
Obter o valor da configuração continue_on_step_failure
.
Retornos
O valor da configuração continue_on_step_failure
Tipo de retorno
data_path_parameter_name
Obter o nome do parâmetro de pipeline de caminho de dados para definir com o caminho de blob alterado.
Retornos
O nome do parâmetro de caminho de dados.
Tipo de retorno
datastore_name
Obter o nome do armazenamento de dados usado para o agendamento.
Retornos
O nome do armazenamento de dados.
Tipo de retorno
description
id
name
path_on_datastore
Obter o caminho no armazenamento de dados que o agendamento monitora.
Retornos
O caminho no armazenamento de dados.
Tipo de retorno
pipeline_endpoint_id
Obter a ID do ponto de extremidade do pipeline que o agendamento envia.
Retornos
A ID.
Tipo de retorno
pipeline_id
polling_interval
Obter a duração, em minutos, entre a sondagem de blobs modificados/adicionados.
Retornos
O intervalo de sondagem.
Tipo de retorno
recurrence
Obter a recorrência do agendamento.
Retornos
A recorrência do agendamento.
Tipo de retorno
status
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de