Programación de trabajos de importación de datos (versión preliminar)
SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)
En este artículo, aprenderá a programar mediante código importaciones de datos, usando la interfaz de usuario de programación para hacerlo. Puede crear una programación basada en el tiempo transcurrido. Las programaciones basadas en tiempo pueden controlar tareas rutinarias, como las importaciones de datos normales para mantenerlas actualizadas. Después de aprender a crear programaciones, aprenderá a recuperarlas y a actualizarlas y desactivarlas mediante los recursos de la CLI, el SDK y la interfaz de usuario de Studio.
Requisitos previos
- Debe tener una suscripción a Azure para usar Azure Machine Learning. Si no tiene una suscripción de Azure, cree una cuenta gratuita antes de empezar. Pruebe hoy mismo la versión gratuita o de pago de Azure Machine Learning.
Instale la CLI de Azure y la extensión
ml
. Siga los pasos de instalación de Instalación, configuración y uso de la CLI (v2).Cree un área de trabajo de Azure Machine Learning si aún no tiene una. Para la creación del área de trabajo, consulte Instalación, configuración y uso de la CLI (v2).
Programación de la importación de datos
Para importar datos de forma periódica, debe crear una programación. Una Schedule
asocia una acción de importación de datos con un desencadenador. El desencadenador puede ser un cron
, que usa una expresión de cron para describir el retraso entre ejecuciones, o una recurrence
, que especifica con qué frecuencia se va a desencadenar un trabajo. En cada caso, primero debe crear una definición de datos de importación. Para ello, puede emplear una importación de datos existente o una importación de datos definida en línea. Para obtener más información, visite Creación de una importación de datos en la CLI, el SDK y la interfaz de usuario.
Crear una programación
Creación de una programación basada en tiempo con el patrón de periodicidad
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
YAML: programación de una importación de datos con patrón de periodicidad
$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: programación de la definición de importación de datos alineada con el patrón de periodicidad en el almacén de datos administrado
$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
Un trigger
contiene estas propiedades:
- (Obligatorio)
type
especifica que el tipo de programación, ya searecurrence
ocron
. La siguiente sección contiene más información.
Después, ejecute este comando en la CLI:
> az ml schedule create -f <file-name>.yml
Nota
Estas propiedades se aplican a la CLI y al SDK:
(Obligatorio)
frequency
especifica la unidad de tiempo que describe la frecuencia con la que se activa la programación. Puede tener valoresminute
hour
day
week
month
(Obligatorio)
interval
especifica cada cuánto tiempo se activa la programación según la frecuencia, que es el número de unidades de tiempo que hay que esperar hasta que la programación se active de nuevo.(Opcional)
schedule
define el patrón de periodicidad, que contienehours
,minutes
yweekdays
.- Cuando
frequency
es igual aday
, un patrón puede especificarhours
yminutes
. - Cuando
frequency
es igual aweek
ymonth
, un patrón puede especificarhours
,minutes
yweekdays
. hours
debe ser un entero o una lista, desde 0 hasta 23.minutes
debe ser un entero o una lista, desde 0 hasta 59.weekdays
, una cadena o una lista demonday
asunday
.- Si
schedule
se omite, los trabajos se desencadenan según la lógica destart_time
,frequency
yinterval
.
- Cuando
(Opcional)
start_time
describe la fecha y hora de inicio con una zona horaria. Sistart_time
se omite, start_time es igual al tiempo de creación del trabajo. En el caso de una hora de inicio del pasado, el primer trabajo se ejecuta en el siguiente tiempo de ejecución calculado.(Opcional)
end_time
describe la fecha y hora de finalización con una zona horaria. Siend_time
se omite, la programación continúa desencadenando trabajos hasta que la programación se deshabilite manualmente.(Opcional)
time_zone
especifica la zona horaria de la periodicidad. Si se omite, la zona horaria predeterminada es UTC. Para obtener más información sobre los valores de zona horaria, vaya al apéndice de los valores de zona horaria.
Creación de una programación basada en tiempo con la expresión cron
YAML: programación de una importación de datos con la expresión cron
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
YAML: programación de la importación de datos con la expresión cron (versión preliminar)
$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: programación de la definición de importación de datos insertada con la expresión cron (versión preliminar)
$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
La sección trigger
define los detalles de la programación y contiene las siguientes propiedades:
- (Obligatorio)
type
especifica el tipo de programacióncron
.
> az ml schedule create -f <file-name>.yml
La lista continúa aquí:
(Obligatorio)
expression
usa una expresión crontab estándar para expresar una programación periódica. Una sola expresión se compone de cinco campos delimitados por espacios:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Un solo carácter comodín (
*
), que cubre todos los valores del campo. Un*
, en días, se refiere a todos los días de un mes (que varía con el mes y el año).El
expression: "15 16 * * 1"
del ejemplo anterior se refiere a las 16:15 todos los lunes.Esta tabla enumera los valores válidos para cada campo:
Campo Intervalo Comentario MINUTES
0-59 - HOURS
0-23 - DAYS
- No se admite. El valor se ignora y se trata como *
.MONTHS
- No compatible. El valor se ignora y se trata como *
.DAYS-OF-WEEK
0-6 Cero (0) significa domingo. También se aceptan nombres de días. Para más información sobre las expresiones crontab, visite el Recurso de wiki de la expresión crontab en GitHub.
Importante
No se admiten
DAYS
niMONTH
. Si pasa uno de estos valores, se omitirá y se tratará como*
.(Opcional)
start_time
especifica la fecha y hora de inicio con la zona horaria de la programación. Por ejemplo,start_time: "2022-05-10T10:15:00-04:00"
significa que la programación comienza desde las 10:15:00AM del 10-05-2022 en la zona horaria UTC-4. Sistart_time
se omite,start_time
es igual a la hora de creación de la programación. En el caso de una hora de inicio del pasado, el primer trabajo se ejecuta en el siguiente tiempo de ejecución calculado.(Opcional)
end_time
describe la fecha y hora de finalización con zona horaria. Siend_time
se omite, la programación continúa desencadenando trabajos hasta que la programación se deshabilite manualmente.(Opcional)
time_zone
especifica la zona horaria de la expresión. Si se omitetime_zone
, la zona horaria es UTC de forma predeterminada. Para obtener más información sobre los valores de zona horaria, vaya al apéndice de los valores de zona horaria.
Limitaciones:
- Actualmente, la programación de Azure Machine Learning v2 no admite los desencadenadores basados en eventos.
- Use el SDK o la CLI de Azure Machine Learning v2 para especificar un patrón de periodicidad complejo que contenga varias marcas de tiempo de desencadenador. La interfaz de usuario solo muestra el patrón complejo y no admite la edición.
- Si establece la periodicidad en el día 31 de cada mes, la programación no desencadenará trabajos en meses con menos de 31 días.
Enumeración de programaciones en un área de trabajo
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
az ml schedule list
Comprobación de detalles de programación
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
az ml schedule show -n simple_cron_data_import_schedule
Actualización de una programación
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
az ml schedule update -n simple_cron_data_import_schedule --set description="new description" --no-wait
Nota:
Para actualizar algo más que solo etiquetas o descripciones, se recomienda usar az ml schedule create --file update_schedule.yml
Deshabilitación de una programación
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Habilitación de una programación
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
az ml schedule enable -n simple_cron_data_import_schedule --no-wait
Eliminación de una programación
Importante
Se debe deshabilitar una programación antes de la eliminación. La acción de eliminar es permanente e irrecuperable. Después de eliminar una programación, nunca podrá acceder a ella ni recuperarla.
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
az ml schedule delete -n simple_cron_data_import_schedule
Compatibilidad con RBAC (control de acceso basado en rol)
Las programaciones se suelen usar para escenarios de producción. Para evitar problemas, es posible que los administradores del área de trabajo quieran restringir los permisos de creación y administración de programaciones dentro de un área de trabajo.
Actualmente hay tres reglas de acción relacionadas con las programaciones y puede configurarlas en Azure Portal. Para obtener más información, vaya a Administración del acceso a un área de trabajo de Azure Machine Learning.
Acción | Descripción | Regla |
---|---|---|
Lectura | Obtener y enumerar programaciones en un área de trabajo de Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/read |
Escritura | Crear, actualizar, deshabilitar y habilitar programaciones en el área de trabajo de Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/write |
Eliminar | Eliminar una programación en el área de trabajo de Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/delete |
Pasos siguientes
- Obtenga más información sobre el esquema YAML de programación de importación de datos de la CLI (v2).
- Obtenga información sobre cómo administrar los recursos de datos importados.