Pianificare processi di importazione dati (anteprima)
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)SDK Python azure-ai-ml v2 (corrente)
Questo articolo spiega come pianificare importazioni di dati programmaticamente e usare l'interfaccia utente di pianificazione per eseguire la stessa operazione. È possibile creare una pianificazione in base al tempo trascorso. Per gestire attività di routine, ad esempio l’importazione regolare di dati per mantenerli aggiornati, è possibile usare pianificazioni basate sul tempo. Dopo aver appreso come creare pianificazioni, si apprenderà come recuperarle, aggiornarle e disattivarle tramite l’interfaccia della riga di comando, l’SDK e l’interfaccia utente di Studio.
Prerequisiti
- L’uso di Azure Machine Learning richiede una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning.
Installare l'interfaccia della riga di comando di Azure e l'estensione
ml
. Effettuare la procedura di installazione riportata in Installare, configurare e usare l'interfaccia della riga di comando (v2).Se non è presente, creare un'area di lavoro di Azure Machine Learning. Per la creazione di un’area di lavoro, vedere Installare, configurare e usare l'interfaccia della riga di comando (v2).
Pianificare un’importazione dati
Per l’importazione di dati su base ricorrente, è necessario creare una pianificazione. Una Schedule
associa un'azione di importazione dati e un trigger. Il trigger può essere cron
, che usa un’espressione cron per descrivere l'attesa tra le esecuzioni o recurrence
, che specifica la frequenza di attivazione del processo. In ogni caso, occorre prima creare una definizione di importazione dati. È possibile scegliere un'importazione dati esistente o definita inline. Fare riferimento a Creare un'importazione dati nell'interfaccia della riga di comando, nell'SDK e nell'interfaccia utente.
Creare una programmazione
Creare una pianificazione basata sul tempo con il modello di ricorrenza
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
YAML: pianificare l'importazione dati con un criterio di ricorrenza
$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: pianificare una definizione di importazione dati inline con un criterio di ricorrenza nell'archivio dati gestito
$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
contiene le proprietà seguenti:
- (Obbligatorio)
type
specifica il tipo di pianificazione,recurrence
ocron
. Per maggiori dettagli, vedere la sezione seguente.
Eseguire, quindi, questo comando nell'interfaccia della riga di comando:
> az ml schedule create -f <file-name>.yml
Nota
Queste proprietà si applicano solo all’interfaccia della riga di comando e all’SDK:
(Obbligatorio)
frequency
specifica l'unità di tempo che descrive la frequenza con cui viene attivata la pianificazione. I valori possono essereminute
,hour
,day
,week
omonth
.(Obbligatorio)
interval
specifica la frequenza di attivazione della pianificazione in base alla frequenza, vale a dire il numero di unità di tempo di attesa fino alla successiva attivazione della pianificazione.(Facoltativo)
schedule
definisce il criterio di ricorrenza contenentehours
,minutes
eweekdays
.- Quando
frequency
è uguale aday
, un criterio può specificarehours
eminutes
. - Quando
frequency
è uguale aweek
emonth
, un criterio può specificarehours
,minutes
eweekdays
. hours
deve essere un numero intero o un elenco, compreso tra 0 e 23.minutes
deve essere un numero intero o un elenco, compreso tra 0 e 59.weekdays
è una stringa o un elenco compreso tramonday
esunday
.- Se
schedule
viene omesso, i processi vengono attivati in base alla logica distart_time
,frequency
einterval
.
- Quando
(Facoltativo)
start_time
descrive la data e l'ora di inizio, con un fuso orario. Sestart_time
viene omesso, start_time equivale all’ora di creazione del processo. Per un'ora di inizio nel passato, il primo processo viene eseguito in occasione dell’ora di esecuzione successiva calcolata.(Facoltativo)
end_time
descrive la data e l'ora di fine, con un fuso orario. Seend_time
viene omesso, la pianificazione continua ad attivare i processi fino a quando la pianificazione viene disabilitata manualmente.(Facoltativo)
time_zone
specifica il fuso orario della ricorrenza. Se viene omesso, il fuso orario predefinito è UTC. Per altre informazioni sui valori del fuso orario, vedere l’appendice per i valori del fuso orario.
Creare una pianificazione basata sul tempo con l'espressione cron
YAML: pianificare un'importazione dati con un’espressione cron
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
YAML: pianificare un'importazione dati con un’espressione cron (anteprima)
$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: pianificare una definizione di importazione dati inline con un’espressione cron (anteprima)
$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 sezione trigger
definisce i dettagli della pianificazione e contiene le proprietà seguenti:
- (Obbligatorio)
type
specifica che il tipo di pianificazione ècron
.
> az ml schedule create -f <file-name>.yml
L'elenco continua qui:
(Obbligatorio)
expression
usa un'espressione crontab standard per esprimere una pianificazione ricorrente. Una singola espressione è costituita da cinque campi delimitati da spazi:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Un singolo carattere jolly (
*
), che copre tutti i valori per il campo. Un*
, in giorni, indica tutti i giorni di un mese (che varia con mese e anno).expression: "15 16 * * 1"
nell'esempio precedente indica le 16:15 di ogni lunedì.Nella tabella successiva sono elencati i valori validi per ogni campo:
Campo Intervallo Commento MINUTES
0-59 - HOURS
0-23 - DAYS
- Non supportato. Il valore viene ignorato e considerato come *
.MONTHS
- Non supportato. Il valore viene ignorato e considerato come *
.DAYS-OF-WEEK
0-6 Zero (0) indica la domenica. Sono accettati anche i nomi dei giorni. Per altre informazioni sulle espressioni crontab, vedere il wiki dell'espressione Crontab su GitHub.
Importante
DAYS
eMONTH
non sono supportati. Se si passa uno di questi valori, verrà ignorato e considerato come*
.(Facoltativo)
start_time
specifica la data e l'ora di inizio con il fuso orario della pianificazione. Ad esempio,start_time: "2022-05-10T10:15:00-04:00"
indica che la pianificazione inizia dalle 10:15:00 del 10 maggio 2022 nel fuso orario UTC-4. Sestart_time
viene omesso,start_time
è uguale all'ora di creazione della pianificazione. Per un'ora di inizio nel passato, il primo processo viene eseguito in occasione dell’ora di esecuzione successiva calcolata.(Facoltativo)
end_time
descrive la data e l'ora di fine, con un fuso orario. Seend_time
viene omesso, la pianificazione continua ad attivare i processi fino a quando la pianificazione viene disabilitata manualmente.(Facoltativo)
time_zone
specifica il fuso orario dell’espressione. Se viene omesso, il fuso orario predefinito è UTC. Vedere l’appendice per i valori del fuso orario.
Limitazioni :
- Attualmente, la pianificazione di Azure Machine Learning v2 non supporta trigger basati su eventi.
- Usare l’SDK o l’interfaccia della riga di comando v2 di Azure Machine Learning per specificare un modello di ricorrenza complesso contenente più timestamp di attivazione. L'interfaccia utente visualizza solo il criterio complesso e non supporta la modifica.
- Se si imposta la ricorrenza come il 31° giorno di ogni mese, la pianificazione non attiverà i processi nei mesi con meno di 31 giorni.
Elencare le pianificazioni in un'area di lavoro
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
az ml schedule list
Controllare i dettagli della pianificazione
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
az ml schedule show -n simple_cron_data_import_schedule
Aggiornare una pianificazione
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
az ml schedule update -n simple_cron_data_import_schedule --set description="new description" --no-wait
Nota
Per aggiornare non solo tag e descrizione, è consigliabile usare az ml schedule create --file update_schedule.yml
Disabilitare una pianificazione
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Abilitare una pianificazione
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
az ml schedule enable -n simple_cron_data_import_schedule --no-wait
Eliminare una pianificazione
Importante
Per eliminare una pianificazione, occorre prima disabilitarla. L'eliminazione è un'azione irreversibile. Una volta eliminata una pianificazione, non è possibile accedervi o recuperarla.
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
az ml schedule delete -n simple_cron_data_import_schedule
Supporto del controllo degli accessi in base al ruolo (RBAC)
Le pianificazioni generalmente vengono usate per la produzione. Per evitare problemi, potrebbe essere opportuno che gli amministratori dell'area di lavoro limitino le autorizzazioni di creazione e gestione delle pianificazioni all'interno di un'area di lavoro.
Attualmente sono disponibili tre regole di azione correlate alle pianificazioni ed è possibile configurarle nel portale di Azure. Per altre informazioni, vedere Come gestire l'accesso a un'area di lavoro di Azure Machine Learning.
Azione | Descrizione | Regola |
---|---|---|
Lettura | Ottenere ed elencare le pianificazioni nell'area di lavoro di Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/read |
Scrittura | Creare, aggiornare, disabilitare e abilitare pianificazioni nell'area di lavoro di Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/write |
Elimina | Eliminare una pianificazione nell’area di lavoro di Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/delete |
Passaggi successivi
- Altre informazioni sullo schema YAML di pianificazione di importazione dati dell’interfaccia della riga di comando (v2).
- Informazioni su come gestire gli asset di dati importati.