Agendar trabalhos de importação de dados (visualização)

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Neste artigo, você aprenderá como agendar programaticamente importações de dados, usando a interface do usuário de agendamento para fazê-lo. Pode criar um horário baseado no tempo decorrido. Agendas baseadas em tempo podem lidar com tarefas de rotina - por exemplo, importações regulares de dados para mantê-los atualizados. Depois de aprender a criar agendas, você aprenderá como recuperá-las, atualizá-las e desativá-las por meio de recursos de CLI, SDK e interface do usuário do estúdio.

Pré-requisitos

Agendar importação de dados

Para importar dados de forma recorrente, você deve criar uma agenda. A Schedule associa uma ação de importação de dados a um gatilho. O gatilho pode ser cron, que usa uma expressão cron para descrever o atraso entre execuções, ou um recurrence, que especifica a frequência para disparar um trabalho. Em cada caso, você deve primeiro criar uma definição de dados de importação. Uma importação de dados existente, ou uma importação de dados definida em linha, funciona para isso. Para obter mais informações, visite Criar uma importação de dados na CLI, SDK e interface do usuário.

Criar uma agenda

Criar um horário baseado no tempo com padrão de recorrência

APLICA-SE A: Azure CLI ml extension v2 (atual)

YAML: Cronograma para importação de dados com padrão de recorrência

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: simple_recurrence_import_schedule
display_name: Simple recurrence import schedule
description: a simple hourly recurrence import 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

import_data: ./my-snowflake-import-data.yaml

YAML: Agendamento para definição de importação de dados em linha com o padrão de recorrência no armazenamento de dados gerenciado

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: inline_recurrence_import_schedule
display_name: Inline recurrence import schedule
description: an inline hourly recurrence import 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

import_data:
  type: mltable
  name: my_snowflake_ds
  path: azureml://datastores/workspacemanagedstore
  source:
    type: database
    query: select * from TPCH_SF1.REGION
    connection: azureml:my_snowflake_connection

A trigger contém estas propriedades:

  • (Obrigatório) type Especifica o tipo de agenda, ou recurrence cron. A seção a seguir tem mais informações.

Em seguida, execute este comando na CLI:

> az ml schedule create -f <file-name>.yml

Nota

Estas propriedades se aplicam à CLI e ao SDK:

  • (Obrigatório) frequency Especifica a unidade de tempo que descreve a frequência com que a agenda é acionada. Pode ter valores

    • minute
    • hour
    • day
    • week
    • month
  • (Obrigatório) interval Especifica a frequência com que a agenda é acionada com base na frequência, que é o número de unidades de tempo a aguardar até que a agenda seja acionada novamente.

  • (Opcional) schedule define o padrão de recorrência, contendo hours, minutese weekdays.

    • Quando frequency igual daya , um padrão pode especificar hours e minutes.
    • Quando frequency igual week e month, um padrão pode especificar hours, minutes e weekdays.
    • hours deve ser um número inteiro ou uma lista, variando entre 0 e 23.
    • minutes deve ser um número inteiro ou uma lista, variando entre 0 e 59.
    • weekdays uma cadeia de caracteres ou lista que varia de monday até sunday.
    • Se schedule for omitido, o(s) trabalho(s) dispara(m) de acordo com a lógica de start_time, frequency e interval.
  • (Opcional) start_time Descreve a data e hora de início, com um fuso horário. Se start_time for omitido, start_time é igual ao tempo de criação de emprego. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.

  • (Opcional) end_time Descreve a data e hora de término com um fuso horário. Se end_time for omitido, o agendamento continuará a disparar trabalhos até que o agendamento seja desativado manualmente.

  • (Opcional) time_zone Especifica o fuso horário da recorrência. Se omitido, o fuso horário padrão é UTC. Para obter mais informações sobre valores de fuso horário, visite o apêndice para valores de fuso horário.

Criar um horário baseado no tempo com expressão cron

YAML: Agendar uma importação de dados com expressão cron

APLICA-SE A: Azure CLI ml extension v2 (atual)

YAML: Agendamento para importação de dados com expressão cron (visualização)

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: simple_cron_import_schedule
display_name: Simple cron import schedule
description: a simple hourly cron import 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

import_data: ./my-snowflake-import-data.yaml

YAML: Agendamento para definição de importação de dados em linha com expressão cron (visualização)

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: inline_cron_import_schedule
display_name: Inline cron import schedule
description: an inline hourly cron import 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

import_data:
  type: mltable
  name: my_snowflake_ds
  path: azureml://datastores/workspaceblobstore/paths/snowflake/${{name}}
  source:
    type: database
    query: select * from TPCH_SF1.REGION
    connection: azureml:my_snowflake_connection

A trigger seção define os detalhes da agenda e contém estas propriedades:

  • (Obrigatório) type Especifica o tipo de cron agenda.
> az ml schedule create -f <file-name>.yml

A lista continua aqui:

  • (Obrigatório) expression Usa uma expressão crontab padrão para expressar uma agenda recorrente. Uma única expressão é composta por cinco campos delimitados por espaço:

    MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK

    • Um único curinga (*), que abrange todos os valores do campo. A *, em dias, significa todos os dias de um mês (que varia com o mês e o ano).

    • O expression: "15 16 * * 1" na amostra acima significa as 16h15 de todas as segundas-feiras.

    • Esta tabela lista os valores válidos para cada campo:

      Campo Intervalo Comentário
      MINUTES 0-59 -
      HOURS 0-23 -
      DAYS - Não suportado. O valor é ignorado e tratado como *.
      MONTHS - Não suportado. O valor é ignorado e tratado como *.
      DAYS-OF-WEEK 0-6 Zero (0) significa domingo. Nomes de dias também aceitos.
    • Para obter mais informações sobre expressões crontab, visite o recurso wiki Crontab Expression no GitHub.

    Importante

    DAYS e MONTH não são suportados. Se você passar um desses valores, ele será ignorado e tratado como *.

  • (Opcional) start_time Especifica a data e hora de início com o fuso horário da agenda. Por exemplo, start_time: "2022-05-10T10:15:00-04:00" significa que o horário começa a partir das 10:15:00 em 2022-05-10 no fuso horário UTC-4. Se start_time for omitido, o start_time é igual ao tempo de criação do agendamento. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.

  • (Opcional) end_time Descreve a data de término e a hora com um fuso horário. Se end_time for omitido, o agendamento continuará a disparar trabalhos até que o agendamento seja desativado manualmente.

  • (Opcional) time_zoneEspecifica o fuso horário da expressão. Se time_zone for omitido, o fuso horário será UTC por padrão. Para obter mais informações sobre valores de fuso horário, visite o apêndice para valores de fuso horário.

Limitações:

  • Atualmente, o agendamento do Azure Machine Learning v2 não oferece suporte a gatilhos baseados em eventos.
  • Use o SDK do Azure Machine Learning/CLI v2 para especificar um padrão de recorrência complexo que contenha vários carimbos de data/hora de gatilho. A interface do usuário exibe apenas o padrão complexo e não oferece suporte à edição.
  • Se você definir a recorrência como o 31º dia de cada mês, o cronograma não acionará trabalhos em meses com menos de 31 dias.

Listar agendas em um espaço de trabalho

APLICA-SE A: Azure CLI ml extension v2 (atual)

az ml schedule list

Confira detalhes do cronograma

APLICA-SE A: Azure CLI ml extension v2 (atual)

az ml schedule show -n simple_cron_data_import_schedule

Atualizar uma agenda

APLICA-SE A: Azure CLI ml extension v2 (atual)

az ml schedule update -n simple_cron_data_import_schedule  --set description="new description" --no-wait

Nota

Para atualizar mais do que apenas tags/descrição, recomendamos o uso de az ml schedule create --file update_schedule.yml

Desativar uma agenda

APLICA-SE A: Azure CLI ml extension v2 (atual)

az ml schedule disable -n simple_cron_data_import_schedule --no-wait

Ativar uma agenda

APLICA-SE A: Azure CLI ml extension v2 (atual)

az ml schedule enable -n simple_cron_data_import_schedule --no-wait

Eliminar uma agenda

Importante

Uma agenda deve ser desativada antes da exclusão. A eliminação é uma ação permanente e irrecuperável. Depois que uma agenda é excluída, você nunca poderá acessá-la ou recuperá-la.

APLICA-SE A: Azure CLI ml extension v2 (atual)

az ml schedule delete -n simple_cron_data_import_schedule

Suporte a RBAC (controle de acesso baseado em função)

Os horários são geralmente usados para a produção. Para evitar problemas, os administradores do espaço de trabalho podem querer restringir as permissões de criação e gerenciamento de agendamento dentro de um espaço de trabalho.

Atualmente, há três regras de ação relacionadas a agendas e você pode configurá-las no portal do Azure. Para obter mais informações, visite como gerenciar o acesso a um espaço de trabalho do Azure Machine Learning..

Ação Descrição Regra
Lida Obter e listar agendas no espaço de trabalho do Aprendizado de Máquina Microsoft.MachineLearningServices/workspaces/schedules/read
Escrita Criar, atualizar, desabilitar e habilitar agendas no espaço de trabalho do Aprendizado de Máquina Microsoft.MachineLearningServices/workspaces/schedules/write
Delete Excluir uma agenda no espaço de trabalho do Aprendizado de Máquina Microsoft.MachineLearningServices/workspaces/schedules/delete

Próximos passos