Planifier des travaux d’importation de données (préversion)
S’APPLIQUE À :Extension Azure CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (version actuelle)
Dans cet article, vous allez apprendre à planifier par programme des importations de données en utilisant l’interface utilisateur pour ce faire. Vous pouvez créer une planification basée sur la durée calendaire. Les planifications basées sur le temps peuvent gérer les tâches de routine , par exemple, les importations de données régulières pour les maintenir à jour. Après avoir appris à créer des planifications, vous allez découvrir comment les récupérer, les mettre à jour et les désactiver via l’interface CLI, le kit SDK et les ressources de l’interface utilisateur studio.
Prérequis
- Vous devez disposer d’un abonnement pour utiliser Azure Machine Learning. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer. Essayez la version gratuite ou payante d’Azure Machine Learning dès aujourd’hui.
Installez Azure CLI et l’extension
ml
. Suivez les étapes d’installation décrites dans Installer, configurer et utiliser l’interface CLI (v2).Créez un espace de travail Azure Machine Learning si vous n’en avez pas déjà un. Pour la création d’un espace de travail, consultez Installer, configurer et utiliser l’interface CLI (v2).
Planifier une importation de données
Pour importer des données de façon périodique, vous devez créer une planification. Une opération Schedule
associe une action d’importation de données avec un déclencheur. Le déclencheur peut être cron
, qui utilise une expression cron pour décrire le délai entre les exécutions ou un recurrence
, qui spécifie la fréquence pour déclencher un travail. Dans chaque cas, vous devez d’abord générer une définition d’importation de données. À cette fin, une importation de données existante ou une importation de données définie inline peut être utilisée. Pour plus d’informations, consultez Créer une importation de données dans l’interface CLI, le Kit de développement logiciel (SDK) et l’interface utilisateur.
Créer une planification
Créer une planification basée sur le temps avec le modèle de périodicité
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
YAML : Planifier une importation de données avec un modèle de périodicité
$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 : Planifier une définition d’importation de données inline avec un modèle de périodicité sur le magasin de données managé
$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
contient les propriétés suivantes :
- (Obligatoire)
type
spécifie le type de planification, à savoirrecurrence
oucron
. La section suivante contient plus d’informations.
Ensuite, exécutez cette commande dans l’interface de ligne de commande (CLI) :
> az ml schedule create -f <file-name>.yml
Notes
Ces propriétés s’appliquent à l’interface CLI et au SDK :
(Obligatoire)
frequency
spécifie une unité de temps qui décrit la fréquence à laquelle la planification se déclenche. Peut avoir des valeursminute
hour
day
week
month
(Obligatoire)
interval
spécifie le déclenchement de la planification en fonction de sa fréquence, c’est-à-dire le temps d’attente basé sur les unités de temps avant le nouveau déclenchement de la planification.(Facultatif)
schedule
définit le modèle de périodicité, contenanthours
,minutes
etweekdays
.- Quand
frequency
correspond àday
, un modèle peut spécifierhours
etminutes
. - Quand
frequency
correspond àweek
et àmonth
, un modèle peut spécifierhours
,minutes
etweekdays
. hours
doit être un entier ou une liste, dont la valeur est comprise entre 0 et 23.minutes
doit être un entier ou une liste, dont la valeur est comprise entre 0 et 59.weekdays
est une chaîne ou une liste allant demonday
àsunday
.- Si
schedule
est omis, les travaux se déclenchent en fonction de la logique destart_time
,frequency
etinterval
.
- Quand
(Facultatif)
start_time
décrit la date et l’heure de début avec un fuseau horaire. Sistart_time
est omis, start_time correspond à l’heure de création du travail. Dans le cas d’une heure de début située dans le passé, le premier travail est exécuté à la prochaine heure d’exécution calculée.(Facultatif)
end_time
décrit la date et l’heure de fin avec un fuseau horaire. Siend_time
est omis, la planification continue à déclencher des travaux jusqu’à ce qu’elle soit désactivée manuellement.(Facultatif)
time_zone
spécifie le fuseau horaire de la périodicité. Si cette propriété est omise, le fuseau horaire par défaut est UTC. Pour plus d’informations sur les valeurs de fuseau horaire, consultez l’annexe pour connaître les valeurs de fuseau horaire.
Créer une planification basée sur le temps avec l’expression cron
YAML : planifier l’importation de données avec une expression
S’APPLIQUE À : Extension Azure CLI ml v2 (actuelle)
YAML : Planifier l’importation de données avec une expression cron (préversion)
$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 : Planifier la définition d’importation de données inline avec une expression cron (préversion)
$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 section trigger
définit les détails de la planification et contient les propriétés suivantes :
- (Obligatoire)
type
spécifie le type de planificationcron
.
> az ml schedule create -f <file-name>.yml
Voici la suite de la liste :
(Obligatoire)
expression
utilise une expression crontab standard pour exprimer une planification périodique. Une expression unique est composée de cinq champs délimités par l’espace :MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Caractère générique unique (
*
), qui couvre toutes les valeurs du champ. La valeur*
en jours signifie tous les jours d’un mois (dont le nombre varie en fonction du mois et de l’année).L’exemple
expression: "15 16 * * 1"
ci-dessus signifie que 16:15 tous les lundis.Ce tableau répertorie les valeurs valides pour chaque champ :
Champ Plage Commentaire MINUTES
0-59 - HOURS
0-23 - DAYS
- Non pris en charge. La valeur est ignorée et considérée comme égale à *
.MONTHS
- Non pris en charge. La valeur est ignorée et considérée comme égale à *
.DAYS-OF-WEEK
0-6 Zéro (0) signifie dimanche. Les noms des jours ont également été acceptés. Pour découvrir plus d’informations sur les expressions Crontab, consultez la ressource wiki Crontab Expression sur GitHub.
Important
DAYS
etMONTH
ne sont pas pris en charge. Si vous transmettez l’une de ces valeurs, elle est ignorée et considérée comme égale à*
.(Facultatif)
start_time
spécifie la date et l’heure de début avec le fuseau horaire de la planification. Par exemple,start_time: "2022-05-10T10:15:00-04:00"
signifie que la planification débute à 10h15 le 10/05/2022 dans le fuseau horaire UTC-4. Si la propriétéstart_time
est omise, la valeur destart_time
correspond à l’heure de création de la planification. Dans le cas d’une heure de début située dans le passé, le premier travail est exécuté à la prochaine heure d’exécution calculée.(Facultatif)
end_time
décrit la date et l’heure de fin avec un fuseau horaire. Siend_time
est omis, la planification continue à déclencher des travaux jusqu’à ce qu’elle soit désactivée manuellement.(Facultatif)
time_zone
spécifie le fuseau horaire de l’expression. Sitime_zone
est omise, le fuseau horaire par défaut est UTC. Pour plus d’informations sur les valeurs de fuseau horaire, consultez l’annexe pour connaître les valeurs de fuseau horaire.
Limites :
- La planification Azure Machine Learning v2 ne prend actuellement pas en charge les déclencheurs basés sur les événements.
- Utilisez le SDK/CLI Azure Machine Learning v2 pour spécifier un modèle de périodicité complexe qui contient plusieurs horodatages de déclencheur. L’interface utilisateur affiche uniquement le modèle complexe et ne prend pas en charge la modification.
- Si vous définissez la périodicité sur le 31e jour de chaque mois, la planification ne déclenche aucun travail les mois qui comptent moins de 31 jours.
Répertorier les planifications dans un espace de travail
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
az ml schedule list
Vérifier les détails de la planification
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
az ml schedule show -n simple_cron_data_import_schedule
Créer une planification
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
az ml schedule update -n simple_cron_data_import_schedule --set description="new description" --no-wait
Remarque
Pour mettre à jour plus que simplement des balises/description, nous vous recommandons d’utiliser az ml schedule create --file update_schedule.yml
Désactiver une planification
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Activer une planification
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
az ml schedule enable -n simple_cron_data_import_schedule --no-wait
Supprimer une planification
Important
Une planification doit être désactivée avant d’être supprimée. La suppression est une action permanente et irrécupérable. Une fois qu’une planification est supprimée, vous ne pouvez plus y accéder ni la récupérer.
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
az ml schedule delete -n simple_cron_data_import_schedule
Prise en charge RBAC (contrôle d’accès en fonction du rôle)
Les planifications sont généralement utilisées en mode production. Pour éviter les problèmes, les administrateurs d’espace de travail peuvent restreindre les autorisations de création et de gestion des planifications au sein d’un espace de travail.
Il existe actuellement trois règles d’action liées aux planifications que vous pouvez configurer dans le portail Azure. Pour en savoir plus, consultez comment gérer l'accès à un espace de travail Azure Machine Learning.
Action | Description | Règle |
---|---|---|
Lire | Obtenir et répertorier les planifications dans l’espace de travail Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/read |
Write | Créer, mettre à jour, désactiver et activer des planifications dans l’espace de travail Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/write |
DELETE | Supprimer une planification dans l’espace de travail Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/delete |
Étapes suivantes
- En savoir plus sur le schéma YAML de planification d’importation de données CLI (v2).
- Découvrez comment gérer les ressources de données importées.