Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie ereignisgesteuerte Anwendungen, Prozesse oder CI/CD-Workflows basierend auf Azure Machine Learning-Ereignissen einrichten. Sie können z. B. Fehlerbenachrichtigungs-E-Mails oder ML-Pipelines einrichten, wenn bestimmte Bedingungen mithilfe von Azure Event Grid erkannt werden.
Azure Machine Learning verwaltet den gesamten Lebenszyklus des maschinellen Lernprozesses, einschließlich Modellschulungen, Modellbereitstellung und Überwachung. Mithilfe von Event Grid können Sie mithilfe moderner serverloser Architekturen auf Azure Machine Learning Ereignisse reagieren, z. B. den Abschluss von Schulungsläufen und die Registrierung und Bereitstellung von Modellen. Anschließend können Sie Ereignisse wie Änderung des Ausführungsstatus, Ausführungsabschluss, Modellregistrierung und Modellbereitstellung in einem Arbeitsbereich abonnieren und nutzen.
Verwenden des Ereignisrasters für ereignisgesteuerte Aktionen:
- Senden von E-Mails nach fehlerhafter und abgeschlossener Ausführung
- Verwenden einer Azure-Funktion nach dem Registrieren eines Modells
- Streamen von Ereignissen von Azure Machine Learning zu verschiedenen Endpunkten
Wichtig
Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Die Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Voraussetzungen
Für die Verwendung von Event Grid benötigen Sie Zugriff für Mitwirkende oder Besitzer*innen auf den Azure Machine Learning-Arbeitsbereich, für den Sie Ereignisse erstellen.
Registrieren Sie den
Microsoft.EventGrid-Ressourcenanbieter in Ihrem Azure-Abonnement. Diese Registrierung ist erforderlich, bevor Sie Ereignisabonnements erstellen können.az provider register --namespace Microsoft.EventGrid --waitWenn Sie das Beispiel "Logic Apps" verwenden möchten, registrieren Sie den
Microsoft.LogicAnbieter ebenfalls.az provider register --namespace Microsoft.Logic --waitWenn Sie beabsichtigen, dem CLI-Beispiel zu folgen, installieren Sie die
eventgridAzure CLI Erweiterung.az extension add --name eventgridWenn Sie beabsichtigen, dem CLI-Beispiel mit Event Hub als Ziel zu folgen, benötigen Sie einen vorhandenen Event Hub-Namespace und einen Hub. Lesen Sie " Erstellen eines Event Hubs ", wenn Sie einen erstellen müssen.
Das Ereignismodell und die Typen
Azure Event Grid liest Ereignisse aus Quellen, z. B. Azure Machine Learning und andere Azure-Dienste. Sie sendet diese Ereignisse an Ereignishandler wie Azure Event Hubs, Azure Functions, Logik-Apps und andere. Das folgende Diagramm zeigt, wie Ereignisraster Quellen und Handler verbindet, aber es handelt sich nicht um eine umfassende Liste der unterstützten Integrationen.
Weitere Informationen zu Ereignisquellen und Ereignishandlern finden Sie unter Was ist Event Grid?.
Ereignistypen für Azure Machine Learning
Azure Machine Learning bietet Veranstaltungen an verschiedenen Stellen des Machine Learning-Lebenszyklus:
| Ereignistyp | BESCHREIBUNG |
|---|---|
Microsoft.MachineLearningServices.RunCompleted |
Ausgelöst, wenn ein Machine Learning-Experiment abgeschlossen ist |
Microsoft.MachineLearningServices.ModelRegistered |
Wird ausgelöst, wenn ein neues Modell oder eine neue Modellversion erfolgreich registriert wurde |
Microsoft.MachineLearningServices.ModelDeployed |
Wird ausgelöst, wenn ein oder mehrere Modelle erfolgreich auf einem Endpunkt bereitgestellt werden |
Microsoft.MachineLearningServices.RunStatusChanged |
Wird ausgelöst, wenn sich ein Ausführungsstatus ändert |
Filtern und Abonnieren von Ereignissen
Azure Event Grid veröffentlicht diese Ereignisse. Über das Azure-Portal, PowerShell oder Azure CLI können Sie ganz einfach Ereignisse abonnieren, indem sie mindestens einen Ereignistyp sowie Filterbedingungen angeben.
Wenden Sie beim Einrichten Ihrer Ereignisse Filter an, damit diese nur bei bestimmten Ereignisdaten ausgelöst werden. Im folgenden Beispiel können Sie bei Ereignissen mit geändertem Ausführungsstatus nach Ausführungstypen filtern. Das Ereignis wird nur ausgelöst, wenn die Kriterien erfüllt sind. Weitere Informationen zu den Ereignisdaten, nach denen Sie filtern können, finden Sie im Event Grid-Schema für Azure Machine Learning.
Azure rollenbasierte Zugriffssteuerung (Azure RBAC) schützt Abonnements für Azure Machine Learning Ereignisse. Nur ein Mitwirkender oder Besitzer eines Arbeitsbereichs kann Ereignisabonnements erstellen, aktualisieren und löschen. Sie können Filter entweder während der Erstellung des Ereignisabonnements oder zu einem späteren Zeitpunkt auf Ereignisabonnements anwenden.
Wechseln Sie zum Azure-Portal, und wählen Sie ein neues oder ein vorhandenes Abonnement aus.
Wählen Sie den Eintrag "Ereignisse " im linken Bereich aus, und wählen Sie dann +Ereignisabonnement aus.
Wählen Sie die Registerkarte "Filter " aus, und scrollen Sie nach unten zu erweiterten Filtern. Geben Sie unter Schlüssel und Wert die Eigenschaftstypen an, nach denen Sie filtern möchten. Hier können Sie sehen, dass das Ereignis nur ausgelöst wird, wenn der Ausführungstyp eine Ausführung der Pipeline oder eine Ausführung eines Pipeline-Schritts ist.
Filtern nach Ereignistyp: In einem Ereignisabonnement können ein oder mehrere Azure Machine Learning-Ereignistypen angegeben sein.
Filtern nach Ereignisgegenstand: Azure Event Grid unterstützt Gegenstandsfilter auf Grundlage von Übereinstimmungen vom Typ beginnt mit und endet mit, sodass Ereignisse mit einem übereinstimmenden Gegenstand an den Abonnenten übermittelt werden. Unterschiedliche Machine Learning-Ereignisse haben unterschiedliche Gegenstandsformate.
Ereignistyp Gegenstandsformat Beispielgegenstand 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_38dbaa94Erweiterte Filterung: Azure Event Grid unterstützt auch erweitertes Filtern anhand eines veröffentlichten Ereignisschemas. Ausführliche Informationen zum Azure Machine Learning-Ereignisschema finden Sie unter Azure Event Grid-Ereignisschema für Azure Machine Learning. Für das
Microsoft.MachineLearningServices.ModelRegistered-Ereignis Filtern des Tagwerts eines Modells:--advanced-filter data.ModelTags.key1 StringIn value1Weitere Informationen zum Anwenden von Filtern finden Sie unter Filtern von Ereignissen für Event Grid.
Nutzen von Machine Learning-Ereignissen
Anwendungen, die Machine Learning-Ereignisse behandeln, sollten einigen empfohlene Vorgehensweisen entsprechen:
- Da mehrere Abonnements Ereignisse an denselben Ereignishandler weiterleiten können, gehen Sie nicht davon aus, dass Ereignisse aus einer bestimmten Quelle stammen. Überprüfen Sie das Thema der Nachricht, um sicherzustellen, dass sie vom erwarteten Maschinellen Lernarbeitsbereich stammt.
- Überprüfen Sie ebenso, ob der eventType einer ist, den Sie verarbeiten können. Gehen Sie nicht davon aus, dass alle empfangenen Ereignisse die typen sind, die Sie erwarten.
- Da Nachrichten in falscher Reihenfolge und mit Verzögerung eintreffen können, verwenden Sie die etag-Felder, um zu verstehen, ob Ihre Informationen zu Objekten weiterhin auf dem neuesten Stand ist. Verwenden Sie auch die sequencer-Felder, um die Reihenfolge der Ereignisse für ein bestimmtes Objekt zu verstehen.
- Ignorieren Sie Felder, die Sie nicht verstehen. Diese Vorgehensweise hilft Ihnen, gegenüber neuen Funktionen, die künftig hinzugefügt werden, robust zu bleiben.
- Fehlgeschlagene oder abgebrochene Azure Machine Learning Vorgänge lösen kein Ereignis aus. Wenn beispielsweise eine Modellbereitstellung fehlschlägt, Microsoft. MachineLearningServices.ModelDeployed wird nicht ausgelöst. Berücksichtigen Sie solche Fehlermodi, wenn Sie Ihre Anwendungen entwerfen. Sie können jederzeit Azure Machine Learning SDK, CLI oder Portal verwenden, um den Status eines Vorgangs zu überprüfen und die detaillierten Fehlergründe zu verstehen.
mit Azure Event Grid können Sie entkoppelte Nachrichtenhandler erstellen, die Azure Machine Learning Ereignisse auslösen können. Einige wichtige Beispiele für Nachrichtenhandler sind:
- Azure Functions
- Azure Logic Apps
- Azure Event Hubs
- Azure Data Factory-Pipeline
- Generische Webhooks, die Sie auf der Azure-Plattform oder an anderer Stelle hosten können
Einrichtung im Azure-Portal
Öffnen Sie das Azure-Portal, und navigieren Sie zu Ihrem Azure Machine Learning-Arbeitsbereich.
Wählen Sie in der linken Leiste die Option Ereignisse aus, und wählen Sie dann Ereignisabonnements aus.
Wählen Sie den Typ des zu nutzenden Ereignisses aus.
Wählen Sie den Endpunkt aus, für den das Ereignis veröffentlicht werden soll. Im folgenden Screenshot ist Event Hub der ausgewählte Endpunkt:
Wenn Sie Ihre Auswahl bestätigen, wählen Sie "Erstellen" aus. Nach der Konfiguration werden diese Ereignisse an Ihren Endpunkt übertragen.
Einrichtung mit der CLI
Sie können entweder die neueste Azure CLI installieren oder die Azure Cloud Shell verwenden, die als Bestandteil Ihres Azure-Abonnements bereitgestellt wird.
Um die Event Grid-Erweiterung zu installieren, verwenden Sie den folgenden Befehl in der CLI (Command-Line Interface, Befehlszeilenschnittstelle):
az extension add --name eventgrid
Im folgenden Beispiel wird veranschaulicht, wie Sie ein Azure-Abonnement auswählen und ein neues Ereignisabonnement für Azure Machine Learning erstellen:
# 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"
Führen Sie Folgendes aus, um zu bestätigen, dass das Abonnement erfolgreich erstellt wurde:
az eventgrid event-subscription show \
--name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName}
Beispiele
Beispiel: Senden von E-Mail-Benachrichtigungen
Verwenden Sie Azure Logic Apps, um E-Mails für Ihre Ereignisse zu konfigurieren. Passen Sie diese mit Bedingungen an, und geben Sie Empfänger an, um die Zusammenarbeit und Beachtung zwischen Teams zu ermöglichen, die zusammenarbeiten.
Wechseln Sie im Azure-Portal zu Ihrem Azure Machine Learning-Arbeitsbereich, und wählen Sie in der linken Leiste die Registerkarte „Ereignisse“ aus. Wählen Sie dort die Option Logik-Apps aus.
Melden Sie sich bei der Logik-App-Benutzeroberfläche an, und wählen Sie Machine Learning Dienst als Thementyp aus.
Wählen Sie das Ereignis aus, für das Sie benachrichtigt werden möchten. Der folgende Screenshot zeigt beispielsweise RunCompleted.
Fügen Sie nun einen Schritt hinzu, um dieses Ereignis zu nutzen und nach E-Mails zu suchen. Es gibt mehrere unterschiedliche E-Mail-Konten, die Sie zum Empfangen von Ereignissen verwenden können. Außerdem können Sie Bedingungen dazu festlegen, wann eine E-Mail-Benachrichtigung gesendet werden soll.
Wählen Sie E-Mail senden aus, und geben Sie Werte für die Parameter ein. Schließen Sie im Betreff den Ereignistyp und das Thema ein, um Ereignisse zu filtern. Sie können auch in den Nachrichtentext einen Link zur Arbeitsbereichsseite für Ausführungen einfügen.
Um diese Aktion zu speichern, wählen Sie Speichern unter in der linken Ecke der Seite aus.
Nächste Schritte
Weitere Informationen zum Ereignisraster und zum Testen von Azure Machine Learning Ereignissen finden Sie unter: