Share via


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 die Zeitplan-Benutzeroberfläche dazu verwenden. Sie können einen Zeitplan basierend auf der verstrichenen Zeit erstellen. Zeitbasierte Zeitpläne können verwendet werden, um Routineaufgaben zu erledigen, wie z. B. das regelmäßige Importieren von Daten, um sie auf dem neuesten Stand zu halten. Nachdem Sie gelernt haben, Zeitpläne zu erstellen, erfahren Sie, wie Sie sie über die CLI, das SDK und die Studio-Benutzeroberfläche abrufen, aktualisieren und deaktivieren.

Voraussetzungen

Planen des Datenimports

Um Daten auf wiederkehrender Basis zu importieren, müssen Sie einen Zeitplan erstellen. Ein Schedule ordnet eine Datenimportaktion und einen Auslöser zu. Der Trigger kann entweder cron einen Cron-Ausdruck verwenden, um die Wartezeit zwischen den Ausführungen zu beschreiben, oder recurrence angeben, mit welcher Häufigkeit der Job 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 mittels CLI, SDK und Benutzeroberfläche.

Erstellen eines Zeitplans

Erstellen Sie einen zeitbasierten Zeitplan mit Wiederholungsmuster

GILT FÜRAzure 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

trigger enthält die folgenden Eigenschaften:

  • (Erforderlich)type gibt den Typ des Zeitplans an, entweder recurrence oder cron. Im folgenden Abschnitt finden Sie weitere Details.

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 wie minute, hour, day, week oder month aufweisen.

  • (Erforderlich)interval gibt an, wie oft der Zeitplan basierend auf der Häufigkeit ausgelöst wird, d. h. die Anzahl der Zeiteinheiten, die gewartet werden soll, bis der Zeitplan erneut ausgelöst wird.

  • (Optional) schedule definiert das Wiederholungsmuster, das hours, minutes, und enthält weekdays.

    • Wenn frequency gleich day ist, kann ein Muster hours und minutes angeben.
    • Wenn frequency gleich week und month ist, kann ein Muster hours, minutes und weekdays 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 von monday bis sunday.
    • Wenn schedule weggelassen wird, wird der Auftrag/werden die Aufträge gemäß der Logik von start_time, frequency und interval ausgelöst.
  • (Optional) start_time beschreibt das Startdatum und die Startzeit mit Zeitzone. Wenn start_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. Wenn end_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. Um mehr über Zeitzonenwerte zu erfahren, siehe Anhang für Zeitzonenwerte.

Erstellen Sie einen zeitbasierten Zeitplan mit Cron-Ausdruck

YAML: Planen des Datenimports mit cron-Ausdruck

GILT FÜRAzure 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 trigger Abschnitt definiert die Zeitplandetails und enthält folgende Eigenschaften:

  • (Erforderlich)type gibt an, dass der Zeitplantyp cron.
> az ml schedule create -f <file-name>.yml

Die Liste wird hier fortgesetzt:

  • (Erforderlich)expression verwendet einen standardmäßigen Crontab-Ausdruck, um einen wiederkehrenden 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.

    • Die nächste Tabelle listet die gültigen Werte für jedes Feld auf:

      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 im Wiki für Crontab-Ausdrücke auf GitHub .

    Wichtig

    DAYS und MONTH 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 bedeutet start_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. Wenn start_time weggelassen wird, entspricht die start_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. Wenn end_time weggelassen wird, löst der Zeitplan weiterhin Jobs aus, bis der Zeitplan manuell deaktiviert wird.

  • (Optional) time_zonegibt die Zeitzone des Ausdrucks an. Wenn weggelassen, ist die Zeitzone standardmäßig UTC. Siehe Anhang für Zeitzonenwerte.

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ÜRAzure CLI ML-Erweiterung v2 (aktuell)

az ml schedule list

Überprüfen Sie die Zeitplandetails

GILT FÜRAzure CLI ML-Erweiterung v2 (aktuell)

az ml schedule show -n simple_cron_data_import_schedule

Aktualisieren Sie einen Zeitplan

GILT FÜRAzure CLI ML-Erweiterung v2 (aktuell)

az ml schedule update -n simple_cron_data_import_schedule  --set description="new description" --no-wait

Hinweis

Um mehr als nur Tags/Beschreibungen zu aktualisieren, empfiehlt sich die Verwendung von az ml schedule create --file update_schedule.yml

Deaktivieren eines Zeitplans

GILT FÜRAzure CLI ML-Erweiterung v2 (aktuell)

az ml schedule disable -n simple_cron_data_import_schedule --no-wait

Aktivieren Sie einen Zeitplan

GILT FÜRAzure 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 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ÜRAzure 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. Lesen Sie Verwalten des Zugriffs auf einen Azure Machine Learning-Arbeitsbereich, um mehr zu erfahren.

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