Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Extensão de ML da CLI do Azure v2 (atual)
SDK do Python azure-ai-ml v2 (atual)
Este artigo explica como agendar importações de dados de modo programático usando a interface do usuário de agendamento. É possível criar um agendamento com base no tempo decorrido. Os agendamentos baseados em tempo podem lidar com as tarefas de rotina, como importações de dados regulares, para mantê-las atualizadas. Depois de aprender a criar agendamentos, você aprenderá a recuperá-los, atualizá-los e desativá-los por meio da CLI, do SDK e de recursos da interface do usuário do Estúdio.
Pré-requisitos
- Você precisa de uma assinatura do Azure para usar o Azure Machine Learning. Caso não tenha uma assinatura 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 extensão
ml. Siga as etapas de instalação em Instalar, configurar e usar a CLI (v2).Crie um Workspace do Azure Machine Learning se você não tiver um. Para criação do workspace, confira Instalar, configurar e usar a CLI (v2).
Agendar importação de dados
Para importar dados de forma recorrente, você deve criar um agendamento. Um Schedule associa uma ação de importação de dados a um gatilho. O gatilho pode ser um cron, que usa uma expressão cron para descrever o atraso entre as execuções, ou um recurrence, que especifica a frequência de acionamento de um trabalho. Em cada caso, é preciso criar primeiro uma definição de importação de dados. Uma importação de dados existente ou uma importação de dados definida em linha funciona para isso. Para saber mais, acesse Criar uma importação de dados por meio da CLI, do SDK e da interface do usuário.
Criar um agendamento
Criar um agendamento baseado em tempo com padrão de recorrência
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
YAML: agendamento 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 gerenciados
$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
Um trigger contém estas propriedades:
-
(Obrigatório)
typeespecifica que o tipo de agendamento, sejarecurrenceoucron. A seção a seguir oferece mais informações.
Depois disso, execute este comando na CLI:
> az ml schedule create -f <file-name>.yml
Observação
Essas propriedades se aplicam à CLI e ao SDK:
(Obrigatório)
frequencyespecifica a unidade de tempo que descreve a frequência com que o agendamento é acionado. Pode ter valoresminutehourdayweekmonth
(Obrigatório)
intervalespecifica com que frequência o agendamento é disparado com base na frequência, que é o número de unidades de tempo a aguardar até que o agendamento seja acionado novamente.(Opcional)
scheduledefine o padrão de recorrência, contendohours,minuteseweekdays.- Quando a
frequencyé igual aoday, o padrão pode especificarhourseminutes. - Quando a
frequencyé igual àweeke aomonth, o padrão pode especificarhours,minuteseweekdays. -
hoursdeve ser um número inteiro ou uma lista, variando entre 0 e 23. -
minutesdeve ser um número inteiro ou uma lista, variando entre 0 e 59. -
weekdaysuma cadeia de caracteres ou uma lista variando demondayasunday. - Se
schedulefor omitido, os gatilhos dos trabalhos serão disparados de acordo com a lógica destart_time,frequencyeinterval.
- Quando a
(Opcional)
start_timedescreve a data e a hora de início com um fuso horário. Se astart_timefor omitida, start_time será igual ao tempo de criação do trabalho. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.(Opcional)
end_timedescreve a data e a hora de término com um fuso horário. Se aend_timefor omitida, o agendamento continua disparando trabalhos até que o agendamento seja desabilitado manualmente.(Opcional)
time_zoneespecifica 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, acesse o apêndice de valores de fuso horário.
Criar um agendamento baseado em tempo com a expressão cron
YAML: agendamento para importação de dados com a expressão cron
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
YAML: Agendamento para importação de dados com a expressão cron (pré-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 a expressão cron (pré-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 seção trigger define os detalhes do agendamento e contém estas propriedades:
-
(Obrigatório)
typeespecifica o tipo de agendamentocron.
> az ml schedule create -f <file-name>.yml
A lista continua aqui:
(Obrigatório)
expressionusa uma expressão crontab padrão para expressar um agendamento recorrente. Uma única expressão é composta por cinco campos delimitados por espaço:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEKUm único curinga (
*), que abrange todos os valores do campo. Um*, em dias, significa todos os dias de um mês (que varia de acordo com o mês e o ano).O
expression: "15 16 * * 1"no exemplo acima significa as 16:15PM em todas as segundas-feiras.Esta tabela lista os valores válidos para cada campo:
Campo Intervalo Comentário MINUTES0-59 - HOURS0-23 - DAYS- Sem suporte. O valor é ignorado e tratado como *.MONTHS- Sem suporte. O valor é ignorado e tratado como *.DAYS-OF-WEEK0 a 6 Zero (0) significa domingo. Nomes de dias também aceitos. Para saber mais sobre expressões crontab, acesse o recurso de wiki da expressão crontab no GitHub.
Importante
DAYSeMONTHnão tem suporte. Se você passar um desses valores, ele será ignorado e tratado como*.(Opcional)
start_timeespecifica a data e a hora de início com o fuso horário do agendamento. Por exemplo,start_time: "2022-05-10T10:15:00-04:00"significa que a programação começa às 10:15:00AM do dia 10/05/2022 no fuso horário UTC-4. Sestart_timefor omitido,start_timeserá igual à hora 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_timedescreve a data e a hora de término com fuso horário. Se aend_timefor omitida, o agendamento continua disparando trabalhos até que o agendamento seja desabilitado manualmente.(Opcional)
time_zoneespecifica o fuso horário da expressão. Setime_zonefor omitido, o fuso horário será UTC por padrão. Para saber mais sobre valores de fuso horário, acesse o apêndice de valores de fuso horário.
Limitações:
- Atualmente, o agendamento do Azure Machine Learning v2 não dá suporte aos gatilhos baseados em eventos.
- Use o SDK/CLI do Azure Machine Learning v2 para especificar um padrão de recorrência complexo que contém vários carimbos de data/hora do 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 agendamento não acionará trabalhos em meses com menos de 31 dias.
Listar agendamentos em um espaço de trabalho
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
az ml schedule list
Verificar detalhes do agendamento
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
az ml schedule show -n simple_cron_data_import_schedule
Atualizar um agendamento
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
az ml schedule update -n simple_cron_data_import_schedule --set description="new description" --no-wait
Observação
Para atualizar mais do que apenas rótulos/descrições, use az ml schedule create --file update_schedule.yml
Desabilitar um agendamento
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Habilitar um agendamento
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
az ml schedule enable -n simple_cron_data_import_schedule --no-wait
excluir uma agenda
Importante
Um agendamento deve ser desabilitado antes da exclusão. A exclusão é uma ação permanente e irreversível. Depois que um agendamento é excluído, você nunca pode acessá-lo ou recuperá-lo.
APLICA-SE A:
Extensão de ML da CLI do Azurev2 (atual)
az ml schedule delete -n simple_cron_data_import_schedule
Suporte a RBAC (controle de acesso baseado em função)
Os agendamentos geralmente são usados para produção. Para evitar problemas, os administradores do workspace podem querer restringir as permissões de criação e gerenciamento de agendamento em um workspace.
No momento, há três regras de ação relacionadas a agendamentos que podem ser configuradas no portal do Azure. Para saber mais, acesse Como gerenciar o acesso a um workspace do Azure Machine Learning.
| Ação | Descrição | Regra |
|---|---|---|
| Ler | Obter e listar agendamentos no workspace do Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/read |
| Gravar | Criar, atualizar, desabilitar e habilitar agendamentos no workspace do Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/write |
| Excluir | Excluir um agendamento no workspace do Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/delete |
Próximas etapas
- Saiba mais sobre o esquema YAML de agendamento de importação de dados da CLI (v2).
- Saiba como gerenciar ativos de dados importados.