Planowanie zadań importowania danych (wersja zapoznawcza)

DOTYCZY:Rozszerzenie Azure CLI ml v2 (bieżąca)Python SDK azure-ai-ml v2 (bieżąca)

Ostrzeżenie

Importowanie danych ze źródeł zewnętrznych (wersja zapoznawcza) i połączenia danych (wersja zapoznawcza) w usłudze Azure Machine Learning są przestarzałe i nie będą dostępne po 30 września 2026 r. Do tego czasu można nadal korzystać z tych funkcji bez zakłóceń. Po tej dacie wszelkie obciążenia, które zależą od nich, zostaną zakłócone.

Zalecana akcja: Migrowanie importu danych zewnętrznych do usługi Microsoft Fabric i używanie magazynów danych usługi Azure Machine Learning w celu udostępnienia danych w usłudze Azure Machine Learning.

W tym artykule dowiesz się, jak programowo zaplanować importowanie danych, korzystając z interfejsu użytkownika harmonogramu. Harmonogram można utworzyć na podstawie czasu, który upłynął. Harmonogramy oparte na czasie mogą obsługiwać rutynowe zadania — na przykład regularne importowanie danych w celu zapewnienia ich aktualności. Po zapoznaniu się z tworzeniem harmonogramów dowiesz się, jak pobierać, aktualizować i dezaktywować je za pomocą interfejsu wiersza polecenia, zestawu SDK i zasobów interfejsu użytkownika programu Studio.

Wymagania wstępne

  • Do korzystania z usługi Azure Machine Learning potrzebna jest subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning już dziś.

Planowanie importowania danych

Aby importować dane cyklicznie, należy utworzyć harmonogram. Element Schedule kojarzy akcję importowania danych z wyzwalaczem. Wyzwalacz może być cron, który używa wyrażenia cron do opisania opóźnienia między uruchomieniami, lub recurrence, który określa częstotliwość wyzwalania zadania. W każdym przypadku należy najpierw utworzyć definicję danych importu. W tym celu działa istniejący import danych lub import danych zdefiniowany w tekście. Aby uzyskać więcej informacji, odwiedź stronę Tworzenie importu danych w interfejsie wiersza polecenia, zestawie SDK i interfejsie użytkownika.

Tworzenie harmonogramu

Tworzenie harmonogramu opartego na czasie za pomocą wzorca cyklu

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

YAML: Planowanie importowania danych ze wzorcem cyklu

$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: Planowanie wbudowanej definicji importowania danych ze wzorcem cyklu w zarządzanym magazynie danych

$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

Obiekt trigger zawiera następujące właściwości:

  • (Wymagane)type określa typ harmonogramu lub recurrencecron. Poniższa sekcja zawiera więcej informacji.

Następnie uruchom to polecenie w interfejsie wiersza polecenia:

> az ml schedule create -f <file-name>.yml

Uwaga

Te właściwości dotyczą interfejsu wiersza polecenia i zestawu SDK:

  • (Wymagane)frequency określa jednostkę czasu, która opisuje częstotliwość wykonywania harmonogramu. Może mieć wartości

    • minute
    • hour
    • day
    • week
    • month
  • (Wymagane)interval Określa, jak często harmonogram jest wyzwalany na podstawie częstotliwości, czyli liczby jednostek czasu, które należy odczekać, aż harmonogram zostanie ponownie wyzwolony.

  • (Opcjonalnie) schedule definiuje wzorzec cyklu zawierający hours, minutesi weekdays.

    • Gdy frequency równa się day, wzorzec może określać hours i minutes.
    • Gdy frequency równa się week oraz month, wzorzec może określać hours, minutes i weekdays.
    • hours powinna być liczbą całkowitą lub listą z zakresu od 0 do 23.
    • minutes powinna być liczbą całkowitą lub listą z zakresu od 0 do 59.
    • weekdays ciąg lub lista z zakresu od monday do sunday.
    • Jeśli schedule zostanie pominięty, zadania są wyzwalane zgodnie z logiką start_time, frequency i interval.
  • (Opcjonalnie) start_time opisuje datę i godzinę rozpoczęcia ze strefą czasową. Jeśli start_time zostanie pominięty, start_time równa się czasowi tworzenia zadania. Dla czasu rozpoczęcia w przeszłości, pierwsze zadanie jest uruchamiane w następnym obliczonym czasie uruchomienia.

  • (Opcjonalnie) end_time opisuje datę i godzinę zakończenia ze strefą czasową. Jeśli end_time zostanie pominięty, harmonogram będzie nadal wyzwalał zadania do momentu ręcznego wyłączenia harmonogramu.

  • (Opcjonalnie) time_zone określa strefę czasową cyklu. W przypadku pominięcia domyślna strefa czasowa to UTC. Aby uzyskać więcej informacji na temat wartości strefy czasowej, odwiedź dodatek dotyczący wartości strefy czasowej.

Tworzenie harmonogramu opartego na czasie za pomocą wyrażenia cron

YAML: Planowanie importowania danych za pomocą wyrażenia cron

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

YAML: Planowanie importowania danych za pomocą wyrażenia cron (wersja zapoznawcza)

$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: Harmonogram definicji importu danych w linii z wyrażeniem cron (wersja zapoznawcza)

$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

Sekcja trigger definiuje szczegóły harmonogramu i zawiera następujące właściwości:

  • (Wymagane)type określa cron typ harmonogramu.
> az ml schedule create -f <file-name>.yml

Lista będzie kontynuowana tutaj:

  • (Wymagane)expression Używa standardowego wyrażenia crontab w celu wyrażenia harmonogramu cyklicznego. Pojedyncze wyrażenie składa się z pięciu pól rozdzielanych spacjami:

    MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK

    • Pojedyncza karta wieloznaczna (*), który obejmuje wszystkie wartości pola. Wartość *, w dniach oznacza wszystkie dni miesiąca (które różnią się w zależności od miesiąca i roku).

    • expression: "15 16 * * 1" w powyższym przykładzie oznacza 16:15 w każdy poniedziałek.

    • W tej tabeli wymieniono prawidłowe wartości dla każdego pola:

      Pole Zakres Komentarz
      MINUTES 0-59 -
      HOURS 0-23 -
      DAYS - Nie obsługiwane. Wartość jest ignorowana i traktowana jako *.
      MONTHS - Nie obsługiwane. Wartość jest ignorowana i traktowana jako *.
      DAYS-OF-WEEK 0-6 Zero (0) oznacza niedzielę. Nazwy dni również zostały zaakceptowane.
    • Aby uzyskać więcej informacji na temat wyrażeń crontab, odwiedź zasób wiki Crontab Expression w witrynie GitHub.

    Ważne

    DAYS i MONTH nie są obsługiwane. Jeśli przekażesz jedną z tych wartości, zostanie ona zignorowana i traktowana jako *.

  • (Opcjonalnie) start_time określa datę i godzinę rozpoczęcia ze strefą czasową harmonogramu. Na przykład oznacza, start_time: "2022-05-10T10:15:00-04:00" że harmonogram rozpoczyna się od godziny 10:15:00 w dniu 2022-05-10 w strefie czasowej UTC-4. Jeśli start_time zostanie pominięty, wartość start_time jest równa czasowi tworzenia harmonogramu. Dla czasu rozpoczęcia w przeszłości, pierwsze zadanie jest uruchamiane w następnym obliczonym czasie uruchomienia.

  • (Opcjonalnie) end_time Opisuje datę zakończenia i godzinę ze strefą czasową. Jeśli end_time zostanie pominięty, harmonogram będzie nadal wyzwalał zadania do momentu ręcznego wyłączenia harmonogramu.

  • (Opcjonalnie) time_zoneokreśla strefę czasową wyrażenia. Jeśli pominie się time_zone, strefa czasowa jest domyślnie UTC. Aby uzyskać więcej informacji na temat wartości strefy czasowej, odwiedź dodatek dotyczący wartości strefy czasowej.

Ograniczenia:

  • Obecnie planowanie usługi Azure Machine Learning w wersji 2 nie obsługuje wyzwalaczy opartych na zdarzeniach.
  • Użyj pakietu SDK/CLI Azure Machine Learning w wersji 2, aby określić złożony wzorzec cyklu zawierający wiele sygnatur czasowych wywoływacza. Interfejs użytkownika wyświetla tylko złożony wzorzec i nie obsługuje edycji.
  • Jeśli ustawisz powtarzanie na 31 dzień każdego miesiąca, harmonogram nie będzie wyzwalał zadań w miesiącach mających mniej niż 31 dni.

Wyświetlanie listy harmonogramów w obszarze roboczym

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

az ml schedule list

Sprawdzanie szczegółów harmonogramu

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

az ml schedule show -n simple_cron_data_import_schedule

Aktualizowanie harmonogramu

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

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

Uwaga

Aby zaktualizować więcej niż tylko tagi/opis, zalecamy użycie polecenia az ml schedule create --file update_schedule.yml

Wyłącz harmonogram

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

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

Włączanie harmonogramu

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

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

Usuwanie harmonogramu

Ważne

Przed usunięciem należy wyłączyć harmonogram. Usunięcie jest trwałą, nieodwracalną akcją. Po usunięciu harmonogramu nigdy nie można uzyskać dostępu do niego ani go odzyskać.

DOTYCZY: Rozszerzenie Azure CLI ml v2 (bieżąca)

az ml schedule delete -n simple_cron_data_import_schedule

Obsługa RBAC (kontrola dostępu oparta na rolach)

Harmonogramy są zwykle używane w środowisku produkcyjnym. Aby zapobiec problemom, administratorzy obszaru roboczego mogą chcieć ograniczyć uprawnienia do tworzenia harmonogramu i zarządzania w obszarze roboczym.

Obecnie istnieją trzy reguły akcji związane z harmonogramami i można je skonfigurować w witrynie Azure Portal. Aby uzyskać więcej informacji, odwiedź stronę zarządzania dostępem do obszaru roboczego usługi Azure Machine Learning.

Akcja opis Reguła
Przeczytaj Pobieranie i wyświetlanie listy harmonogramów w obszarze roboczym usługi Machine Learning Microsoft.MachineLearningServices/workspaces/schedules/read
Napisz Tworzenie, aktualizowanie, wyłączanie i włączanie harmonogramów w obszarze roboczym usługi Machine Learning Microsoft.MachineLearningServices/workspaces/schedules/zapisz
Usuń Usuń harmonogram w obszarze roboczym Machine Learning Microsoft.MachineLearningServices/workspaces/schedules/delete

Następne kroki

  • Dowiedz się więcej na temat schematu harmonogramu importu danych CLI (v2) YAML.
  • Dowiedz się, jak zarządzać zaimportowanymi zasobami danych.