Planen von Datenimportaufträgen (Vorschau)
GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)
In diesem Artikel erfahren Sie, wie Sie programmgesteuert Datenimporte planen und dazu die Zeitplan-Benutzeroberfläche verwenden. Sie können einen Zeitplan basierend auf der verstrichenen Zeit erstellen. Zeitbasierte Zeitpläne können Routineaufgaben verarbeiten, z. B. regelmäßige Datenimporte, um Daten auf dem neuesten Stand zu halten. Nachdem Sie gelernt haben, Zeitpläne zu erstellen, erfahren Sie, wie Sie diese über die CLI, das SDK und Studio-Benutzeroberflächenressourcen abrufen, aktualisieren und deaktivieren.
Voraussetzungen
- Um Azure Machine Learning nutzen zu können, benötigen Sie ein Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen. Probieren Sie die kostenlose oder kostenpflichtige Version von Azure Machine Learning noch heute aus.
Installieren Sie die Azure CLI und die Erweiterung
ml
. Befolgen Sie die Installationsschritte unter Installieren, Einrichten und Verwenden der CLI (v2).Erstellen Sie einen Azure Machine Learning-Arbeitsbereich, sofern Sie noch keinen besitzen. Weitere Informationen zur Erstellung eines Arbeitsbereichs finden Sie unter Installieren, Einrichten und Verwenden der CLI (v2).
Planen des Datenimports
Um Daten auf wiederkehrender Basis zu importieren, müssen Sie einen Zeitplan erstellen. Ein Schedule
ordnet eine Datenimportaktion einem Auslöser zu. Der Auslöser kann entweder cron
sein, wobei ein Cron-Ausdruck verwendet wird, um die Verzögerung zwischen den Ausführungen zu beschreiben, oder es kann recurrence
sein, um die Häufigkeit anzugeben, mit der ein Auftrag ausgelöst werden soll. In jedem Fall müssen Sie zunächst eine Importdatendefinition erstellen. Ein vorhandener Datenimport oder ein Datenimport, der inline definiert ist, funktioniert dafür. Weitere Informationen finden Sie unter Erstellen eines Datenimports in CLI, SDK und UI.
Erstellen eines Zeitplans
Erstellen Sie einen zeitbasierten Zeitplan mit Wiederholungsmuster
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
YAML: Planen eines Datenimports mit Serienmuster
$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: Planen der Inline-Datenimportdefinition mit Serienmuster im verwalteten Datenspeicher
$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
Ein trigger
enthält die folgenden Eigenschaften:
- (Erforderlich)
type
gibt den Typ des Zeitplans an, entwederrecurrence
odercron
. Der folgende Abschnitt enthält weitere Informationen.
Führen Sie als nächstes diesen Befehl in der CLI aus:
> az ml schedule create -f <file-name>.yml
Hinweis
Diese Eigenschaften gelten für CLI und SDK:
(Erforderlich)
frequency
gibt die Zeiteinheit an, die beschreibt, wie oft der Zeitplan ausgelöst wird. Kann Werte habenminute
hour
day
week
month
(Erforderlich)
interval
gibt an, wie oft der Zeitplan basierend auf der Häufigkeit ausgelöst wird, d. h. die Anzahl der Zeiteinheiten, die abgewartet werden soll, bis der Zeitplan erneut ausgelöst wird.(Optional)
schedule
definiert das Wiederholungsmuster, dashours
,minutes
, und enthältweekdays
.- Wenn
frequency
gleichday
ist, kann ein Musterhours
undminutes
angeben. - Wenn
frequency
gleichweek
undmonth
ist, kann ein Musterhours
,minutes
undweekdays
angeben. hours
sollte eine ganze Zahl sein oder eine Liste zwischen 0 und 23.minutes
sollte eine ganze Zahl sein oder eine Liste zwischen 0 und 59.weekdays
sollte eine Zeichenfolge sein oder eine Liste vonmonday
bissunday
.- Wird
schedule
nicht angegeben, dann wird der Auftrag bzw. werden die Aufträge gemäß der Logik vonstart_time
,frequency
undinterval
ausgelöst.
- Wenn
(Optional)
start_time
beschreibt das Startdatum und die Startzeit mit Zeitzone. Wennstart_time
weggelassen wird, entspricht start_time der Erstellungszeit des Auftrags. Wenn die Startzeit in der Vergangenheit liegt, wird der erste Job zur nächsten berechneten Laufzeit ausgeführt.(Optional)
end_time
beschreibt das Enddatum und die Endzeit mit Zeitzone. Wennend_time
weggelassen wird, löst der Zeitplan weiterhin Jobs aus, bis der Zeitplan manuell deaktiviert wird.(Optional)
time_zone
gibt die Zeitzone der Wiederholung an. Wenn weggelassen, ist die Standardzeitzone UTC. Weitere Informationen zu Zeitzonenwerten finden Sie im Anhang zu Zeitzonenwerten.
Erstellen Sie einen zeitbasierten Zeitplan mit Cron-Ausdruck
YAML: Planen des Datenimports mit cron-Ausdruck
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
YAML: Planen des Datenimports mit cron-Ausdruck (Vorschau)
$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: Planen der Inline-Datenimportdefinition mit cron-Ausdruck (Vorschau)
$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
Der Abschnitt trigger
definiert die Zeitplandetails und enthält diese Eigenschaften:
- (Erforderlich)
type
gibt den Zeitplantypcron
an.
> az ml schedule create -f <file-name>.yml
Die Liste wird hier fortgesetzt:
(Erforderlich)
expression
verwendet einen standardmäßigen Crontab-Ausdruck, um einen periodischen Zeitplan auszudrücken. Ein einzelner Ausdruck besteht aus fünf durch Leerzeichen getrennten Feldern:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Ein einzelner Platzhalter (
*
), der alle Werte für das Feld abdeckt. Ein*
für „Tage“ bedeutet also alle Tage eines Monats (was je nach Monat und Jahr variiert).Das
expression: "15 16 * * 1"
im obigen Beispiel bedeutet 16:15 Uhr an jedem Montag.Diese Tabelle enthält die gültigen Werte für jedes Feld:
Feld Bereich Comment MINUTES
0-59 - HOURS
0-23 - DAYS
- Wird nicht unterstützt. Der Wert wird ignoriert und als *
behandelt.MONTHS
- Wird nicht unterstützt. Der Wert wird ignoriert und als *
behandelt.DAYS-OF-WEEK
0 - 6 Null (0) bedeutet Sonntag. Namen von Tagen werden ebenfalls akzeptiert. Weitere Informationen zur Verwendung von Crontab-Ausdrücken finden Sie in der Wiki-Ressource für Crontab-Ausdrücke auf GitHub.
Wichtig
DAYS
undMONTH
werden nicht unterstützt. Wenn Sie einen dieser Werte übergeben, wird er ignoriert und als*
behandelt.(Optional)
start_time
gibt das Startdatum und die Startzeit mit der Zeitzone des Zeitplans an. Beispielsweise bedeutetstart_time: "2022-05-10T10:15:00-04:00"
, dass der Zeitplan am 10.05.2022 um 10:15:00 Uhr in der Zeitzone UTC-4 beginnt. Wennstart_time
weggelassen wird, entspricht diestart_time
der Erstellungszeit des Zeitplans. Wenn die Startzeit in der Vergangenheit liegt, wird der erste Job zur nächsten berechneten Laufzeit ausgeführt.(Optional)
end_time
beschreibt das Enddatum und die Endzeit mit einer Zeitzone. Wennend_time
weggelassen wird, löst der Zeitplan weiterhin Jobs aus, bis der Zeitplan manuell deaktiviert wird.(Optional)
time_zone
gibt die Zeitzone des Ausdrucks an. Wirdtime_zone
weggelassen, dann wird standardmäßig die Zeitzone UTC verwendet. Weitere Informationen zu Zeitzonenwerten finden Sie im Anhang zu Zeitzonenwerten.
Einschränkungen:
- Der Azure Machine Learning v2-Zeitplanung unterstützt derzeit keine ereignisbasierten Auslöser.
- Verwenden Sie das Azure Machine Learning v2-SDK/die CLI, um ein komplexes Wiederholungsmuster anzugeben, das mehrere Auslöserzeitstempel enthält. Die Benutzeroberfläche zeigt das komplexe Muster nur an und unterstützt keine Bearbeitung.
- Wenn Sie für die Wiederholung den 31. Tag jedes Monats festlegen, löst der Zeitplan in Monaten mit weniger als 31 Tagen keine Aufträge aus.
Zeitpläne in einem Arbeitsbereich auflisten
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
az ml schedule list
Überprüfen Sie die Zeitplandetails
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
az ml schedule show -n simple_cron_data_import_schedule
Aktualisieren Sie einen Zeitplan
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
az ml schedule update -n simple_cron_data_import_schedule --set description="new description" --no-wait
Hinweis
Wenn nicht nur Tags/Beschreibungen aktualisiert werden sollen, empfehlen wir die Verwendung von az ml schedule create --file update_schedule.yml
Deaktivieren eines Zeitplans
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Aktivieren Sie einen Zeitplan
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
az ml schedule enable -n simple_cron_data_import_schedule --no-wait
Löschen eines Zeitplans
Wichtig
Ein Zeitplan muss vor dem Löschen deaktiviert werden. Der Löschvorgang ist eine dauerhafte Aktion und kann nicht rückgängig gemacht werden. Nachdem ein Zeitplan gelöscht wurde, können Sie nicht mehr darauf zugreifen oder ihn wiederherstellen.
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
az ml schedule delete -n simple_cron_data_import_schedule
Unterstützung für RBAC (rollenbasierte Zugriffssteuerung)
Zeitpläne werden in der Regel für die Produktion verwendet. Um Probleme zu vermeiden, wollen Arbeitsbereichsadministratoren möglicherweise die Berechtigungen für die Erstellung und Verwaltung von Zeitplänen innerhalb eines Arbeitsbereichs einschränken.
Derzeit gibt es drei Aktionsregeln für Zeitpläne, und Sie können diese im Azure-Portal konfigurieren. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Azure Machine Learning-Arbeitsbereiche.
Aktion | BESCHREIBUNG | Regel |
---|---|---|
Lesen | Abrufen und Auflisten von Zeitplänen im Machine Learning-Arbeitsbereich | Microsoft.MachineLearningServices/workspaces/schedules/read |
Schreiben | Erstellen, Aktualisieren, Deaktivieren und Aktivieren von Zeitplänen im Machine Learning-Arbeitsbereich | Microsoft.MachineLearningServices/workspaces/schedules/write |
Löschen | Löschen eines Zeitplans im Machine Learning-Arbeitsbereich | Microsoft.MachineLearningServices/workspaces/schedules/delete |
Nächste Schritte
- Erfahren Sie mehr über das YAML-Schema für den CLI (v2)-Datenimportzeitplan.
- Erfahren Sie, wie Sie importierte Datenressourcen verwalten.