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 e usar a interface do usuário de agendamento para fazer o mesmo. Pode criar um horário baseado no tempo decorrido. Agendas baseadas em tempo podem ser usadas para cuidar de tarefas rotineiras, como importar os dados regularmente para mantê-los atualizados. Depois de aprender a criar agendas, você aprenderá como recuperá-las, atualizá-las e desativá-las via CLI, SDK e interface do usuário do estúdio.
Pré-requisitos
- Você deve ter uma assinatura do Azure para usar o Azure Machine Learning. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar. Experimente hoje mesmo a versão gratuita ou paga do Azure Machine Learning .
Instale a CLI do Azure e a
ml
extensão. Siga as etapas de instalação em Instalar, configurar e usar a CLI (v2).Crie um espaço de trabalho do Azure Machine Learning se não tiver um. Para a criação de espaços de trabalho, consulte Instalar, configurar e usar a CLI (v2).
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 e um gatilho. O gatilho pode ser cron
que use a expressão cron para descrever a espera entre as execuções ou recurrence
que especifique usando qual frequência acionar o trabalho. Em cada caso, você deve primeiro definir 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. Consulte Criar uma importação de dados na CLI, SDK e UI.
Criar uma agenda
Criar um horário baseado no tempo com padrão de recorrência
APLICA-SE A:Extensão ml da CLI do Azure 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
trigger
contém as seguintes propriedades:
- (Obrigatório)
type
Especifica o tipo de agenda, ourecurrence
cron
. Consulte a seção a seguir para obter mais detalhes.
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 deminute
, , ,day
hour
week
, oumonth
.(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, contendohours
,minutes
eweekdays
.- Quando
frequency
igualday
a , um padrão pode especificarhours
eminutes
. - Quando
frequency
igual e , um padrão pode especificarhours
,minutes
emonth
weekdays
.week
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 demonday
atésunday
.- Se
schedule
for omitido, o(s) trabalho(s) é acionado(s) de acordo com a lógica destart_time
,frequency
einterval
.
- Quando
(Opcional)
start_time
Descreve a data e hora de início, com um fuso horário. Sestart_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. Seend_time
for omitida, a agenda continuará a acionar trabalhos até que a agenda seja desativada manualmente.(Opcional)
time_zone
Especifica o fuso horário da recorrência. Se omitido, o fuso horário padrão é UTC. Para saber mais sobre valores de fuso horário, consulte 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:Extensão ml da CLI do Azure 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 as seguintes propriedades:
- (Obrigatório)
type
especifica que o tipo de agendamento écron
.
> 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.A tabela seguinte 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 são aceitos. Para saber mais sobre expressões crontab, consulte Crontab Expression wiki no GitHub.
Importante
DAYS
eMONTH
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. Sestart_time
for omitido, ostart_time
é igual ao tempo de criação da agenda. 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. Seend_time
for omitida, a agenda continuará a acionar trabalhos até que a agenda seja desativada manualmente.(Opcional)
time_zone
Especifica o fuso horário da expressão. Se omitido, o fuso horário é UTC por padrão. Consulte o apêndice para obter os 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:Extensão ml da CLI do Azure v2 (atual)
az ml schedule list
Confira detalhes do cronograma
APLICA-SE A:Extensão ml da CLI do Azure v2 (atual)
az ml schedule show -n simple_cron_data_import_schedule
Atualizar uma agenda
APLICA-SE A:Extensão ml da CLI do Azure 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, recomenda-se usar az ml schedule create --file update_schedule.yml
Desativar uma agenda
APLICA-SE A:Extensão ml da CLI do Azure v2 (atual)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Ativar uma agenda
APLICA-SE A:Extensão ml da CLI do Azure 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 irrecuperável. Depois que uma agenda é excluída, você nunca poderá acessá-la ou recuperá-la.
APLICA-SE A:Extensão ml da CLI do Azure 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. Veja como gerenciar o acesso a um espaço de trabalho do Azure Machine Learning. para saber mais.
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 |
Escrever | 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
- Saiba mais sobre o esquema YAML do agendamento de importação de dados da CLI (v2).
- Saiba como gerenciar ativos de dados importados.