Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come configurare applicazioni, processi o flussi di lavoro CI/CD basati su eventi di Azure Machine Learning. Ad esempio, è possibile configurare messaggi di posta elettronica di notifica degli errori o esecuzioni della pipeline di Machine Learning quando vengono rilevate determinate condizioni usando Griglia di eventi di Azure.
Azure Machine Learning gestisce l'intero ciclo di vita del processo di Machine Learning, inclusi il training del modello, la distribuzione del modello e il monitoraggio. Usando Event Grid, è possibile reagire agli eventi di Azure Machine Learning, ad esempio al completamento delle esecuzioni di training e alla registrazione e distribuzione dei modelli, tramite moderne architetture serverless. È quindi possibile sottoscriversi a e consumare eventi quali la modifica dello stato dell'esecuzione, il completamento dell'esecuzione, la registrazione del modello e la distribuzione del modello in un'area di lavoro.
Usare Griglia di eventi per le azioni guidate dagli eventi:
- Invio di messaggi di posta elettronica in caso di errore e di completamento dell'esecuzione
- Utilizzo di una funzione di Azure dopo la registrazione di un modello
- Trasmettere eventi da Azure Machine Learning a vari endpoint
Importante
Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente disponibili in anteprima pubblica. La versione di anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
Prerequisiti
Per usare Griglia di eventi è necessario accedere come collaboratore o proprietario all'area di lavoro di Azure Machine Learning per cui si creano eventi.
Esegui la registrazione del provider di risorse
Microsoft.EventGridnella sottoscrizione di Azure. Questa registrazione è necessaria prima di poter creare sottoscrizioni di eventi.az provider register --namespace Microsoft.EventGrid --waitSe si intende usare l'esempio di app per la logica, registrare anche il provider
Microsoft.Logic.az provider register --namespace Microsoft.Logic --waitSe intendi seguire l'esempio della CLI, installa l'estensione
eventgridinterfaccia della riga di comando di Azure.az extension add --name eventgridSe intendi seguire l'esempio della CLI con Event Hub come destinazione, ti occorrono uno spazio dei nomi di Event Hub e un hub già esistenti. Se è necessario crearne uno, vedere Creare un hub eventi .
Modello di evento e tipi
Griglia di eventi di Azure legge gli eventi dalle origini, ad esempio Azure Machine Learning e altri servizi di Azure. Invia questi eventi ai gestori eventi, ad esempio Hub eventi di Azure, Funzioni di Azure, App per la logica e altri. Il diagramma seguente mostra come Griglia di eventi connette origini e gestori, ma non è un elenco completo delle integrazioni supportate.
Per altre informazioni sulle origini eventi e sui gestori eventi, vedere Che cos'è Griglia di eventi?.
Tipi di eventi per Azure Machine Learning
Azure Machine Learning fornisce eventi in vari punti del ciclo di vita di Machine Learning:
| Tipo di evento | Descrizione |
|---|---|
Microsoft.MachineLearningServices.RunCompleted |
Generato al completamento dell'esecuzione di un esperimento di Machine Learning |
Microsoft.MachineLearningServices.ModelRegistered |
Generato quando un nuovo modello o una nuova versione del modello viene registrato con successo |
Microsoft.MachineLearningServices.ModelDeployed |
Generato quando uno o più modelli vengono distribuiti con successo su un endpoint |
Microsoft.MachineLearningServices.RunStatusChanged |
Attivato quando lo stato dell'esecuzione cambia |
Filtrare e sottoscrivere eventi
Griglia di eventi di Azure pubblica questi eventi. Dal portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure, si può facilmente eseguire la sottoscrizione agli eventi specificando uno o più tipi di eventi e filtrando le condizioni.
Quando configuri gli eventi, applica filtri per fare in modo che si attivino solo con dati evento specifici. Nell'esempio seguente, per gli eventi il cui stato di esecuzione è modificato, è possibile filtrare per tipo di esecuzione. L'evento viene attivato solo quando i criteri vengono soddisfatti. Per altre informazioni sui dati degli eventi che è possibile filtrare, vedere lo schema di Griglia di eventi di Azure Machine Learning.
Il controllo degli accessi in base al ruolo di Azure (Azure RBAC) protegge le sottoscrizioni relative agli eventi di Azure Machine Learning. Solo chi ha il ruolo di collaboratore o proprietario di un'area di lavoro può creare, aggiornare ed eliminare le sottoscrizioni agli eventi. È possibile applicare filtri alle sottoscrizioni di eventi durante la creazione della sottoscrizione di eventi o in un secondo momento.
Accedere al portale di Azure, selezionare una nuova sottoscrizione o una sottoscrizione esistente.
Selezionare la voce Eventi nel riquadro sinistro e quindi selezionare + Sottoscrizione di eventi.
Selezionare la scheda Filtri e scorrere verso il basso fino a Filtri avanzati. Per Chiave e Valore, specificare i tipi di proprietà in base ai quali si desidera filtrare. Qui è possibile vedere che l'evento viene attivato quando il tipo di esecuzione è un'esecuzione di pipeline o un'esecuzione passaggio della pipeline.
Filtro in base al tipo di evento: una sottoscrizione di eventi può specificare uno o più tipi di eventi di Azure Machine Learning.
Filtro in base all'oggetto dell'evento: Griglia di eventi di Azure supporta i filtri per oggetto in base alle corrispondenze comincia con e termina con, in modo che gli eventi con un oggetto corrispondente vengano recapitati al sottoscrittore. Diversi eventi di apprendimento automatico hanno formati dell'oggetto diversi.
Tipo di evento Formato dell'oggetto Oggetto di esempio Microsoft.MachineLearningServices.RunCompletedexperiments/{ExperimentId}/runs/{RunId}experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94Microsoft.MachineLearningServices.ModelRegisteredmodels/{modelName}:{modelVersion}models/sklearn_regression_model:3Microsoft.MachineLearningServices.ModelDeployedendpoints/{serviceId}endpoints/my_sklearn_aksMicrosoft.MachineLearningServices.RunStatusChangedexperiments/{ExperimentId}/runs/{RunId}experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94Filtro avanzato: Griglia di eventi di Azure supporta anche il filtro avanzato in base allo schema evento pubblicato. Per i dettagli sullo schema degli eventi di Azure Machine Learning, vedere Schema degli eventi di Griglia di eventi di Azure per Azure Machine Learning. Per l'evento
Microsoft.MachineLearningServices.ModelRegistered, per filtrare il valore del tag del modello:--advanced-filter data.ModelTags.key1 StringIn value1Per altre informazioni su come applicare i filtri, vedere Filtrare gli eventi per Griglia di eventi.
Consumare gli eventi di Machine Learning
Per le applicazioni che gestiscono gli eventi di Machine Learning è consigliabile seguire alcune procedure:
- Poiché più sottoscrizioni possono instradare gli eventi allo stesso gestore eventi, non presupporre che gli eventi provenano da una determinata origine. Controllare l'argomento del messaggio per assicurarsi che provenga dall'area di lavoro di Machine Learning prevista.
- Allo stesso modo, verificare che l'eventType sia un tipo che è possibile elaborare. Non presupporre che tutti gli eventi ricevuti siano i tipi previsti.
- Dal momento che i messaggi non arrivano in ordine e giungono con un po' di ritardo, usare i campi etag per verificare se le informazioni disponibili sugli oggetti sono ancora aggiornate. È possibile usare anche i campi del sequencer per comprendere l'ordine degli eventi relativi a un oggetto specifico.
- Ignora i campi che non capisci. Questa procedura consente di mantenere la resilienza alle nuove funzionalità che potrebbero essere aggiunte in futuro.
- Le operazioni di Azure Machine Learning non riuscite o annullate non attivano un evento. Ad esempio, se una distribuzione del modello ha esito negativo, Microsoft. MachineLearningServices.ModelDeployed non viene attivato. Prendere in considerazione tale modalità di errore durante la progettazione delle applicazioni. È sempre possibile usare Azure Machine Learning SDK, l'interfaccia della riga di comando o il portale per controllare lo stato di un'operazione e comprendere i motivi dettagliati dell'errore.
Griglia di eventi di Azure consente di creare gestori di messaggi disaccoppiati, che possono essere attivati dagli eventi di Azure Machine Learning. Alcuni esempi rilevanti di gestori di messaggi includono:
- Funzioni di Azure
- App per la logica di Azure
- Hub eventi di Azure
- Pipeline di Azure Data Factory
- Webhook generici, che è possibile ospitare nella piattaforma Azure o altrove
Eseguire la configurazione nel portale di Azure
Aprire il portale di Azure e accedere all'area di lavoro di Azure Machine Learning.
Nella barra a sinistra selezionare Eventi, quindi selezionare Sottoscrizioni di eventi.
Selezionare il tipo di evento da usare.
Selezionare l'endpoint in cui pubblicare l'evento. Nello screenshot seguente Hub eventi è l'endpoint selezionato:
Quando si conferma la selezione, selezionare Crea. Dopo la configurazione, questi eventi vengono inseriti nell'endpoint.
Configura con la CLI
È possibile installare la versione più recente dell'interfaccia della riga di comando di Azure o usare Azure Cloud Shell fornito come parte della sottoscrizione di Azure.
Per installare l'estensione Griglia di eventi, usare il comando seguente dall'interfaccia della riga di comando:
az extension add --name eventgrid
L'esempio seguente illustra come selezionare una sottoscrizione Azure e creare una nuova sottoscrizione di eventi per Azure Machine Learning:
# Select the Azure subscription that contains the workspace
az account set --subscription "<name or ID of the subscription>"
# Subscribe to the machine learning workspace. This example uses EventHub as a destination.
az eventgrid event-subscription create --name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName} \
--endpoint-type eventhub \
--endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/n1/eventhubs/EH1 \
--included-event-types Microsoft.MachineLearningServices.ModelRegistered \
--subject-begins-with "models/mymodelname"
Per verificare che la sottoscrizione sia stata creata correttamente, eseguire:
az eventgrid event-subscription show \
--name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName}
Esempi
Esempio: inviare avvisi tramite e-mail
Usa App per la logica di Azure per configurare le email per tutti i tuoi eventi. Personalizza con condizioni e specifica i destinatari per favorire la collaborazione e la visibilità tra i team che lavorano insieme.
Nel portale di Azure accedere all'area di lavoro di Azure Machine Learning e selezionare la scheda eventi nella barra a sinistra. Da qui seleziona App per la logica.
Accedi all'interfaccia utente di Logic App e seleziona il servizio Machine Learning come tipo di argomento.
Selezionare l'evento per cui si vuole ricevere una notifica. Ad esempio, lo screenshot seguente mostra RunCompleted.
Successivamente, aggiungere un passaggio per usare questo evento e cercare la posta elettronica. Sono disponibili diversi account di posta elettronica che è possibile usare per ricevere eventi. È anche possibile configurare delle condizioni per l'invio di un avviso di posta elettronica.
Selezionare Invia un messaggio di posta elettronica e specificare i parametri. Nell'oggetto includere il tipo di evento e l'argomento per filtrare gli eventi. È possibile includere anche un collegamento alla pagina dell'area di lavoro per le esecuzioni nel corpo del messaggio.
Per salvare questa azione, selezionare Salva con nome nell'angolo sinistro della pagina.
Passaggi successivi
Per altre informazioni su Event Grid e per provare gli eventi di Azure Machine Learning, vedi: