Bereitstellen von Azure Machine Learning Studio-Webdiensten (Classic), die Module zum Importieren und Exportieren von Daten verwenden
GILT FÜR: Machine Learning Studio (klassisch) Azure Machine Learning
Wichtig
Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.
Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.
Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.
Bei der Erstellung eines Vorhersageexperiments fügen Sie in der Regel eine Webdiensteingabe und -ausgabe hinzu. Wenn Sie das Experiment bereitstellen, können Nutzer Daten über die Webdiensteingabe bzw. -ausgabe senden und empfangen. Für einige Anwendungen sind die Daten eines Nutzers möglicherweise über einen Datenfeed verfügbar oder befinden sich bereits in einer externen Datenquelle, z.B. Azure Blob Storage. In diesen Fällen müssen sie nicht mithilfe von Webdiensteingabe und -ausgabe gelesen und geschrieben werden. Sie können stattdessen mit dem Stapelausführungsdienst (Batch Execution Service, BES) mit einem Import Data-Modul aus der Datenquelle gelesen werden, und die Bewertungsergebnisse können mit einem Export Data-Modul an einen anderen Datenspeicherort geschrieben werden.
Import Data-Modul und Export Data-Modul können aus verschiedenen Datenspeicherorten wie Web-URL über HTTP, Hive-Abfrage, einer Datenbank in Azure SQL-Datenbank, Azure Table Storage und Azure Blob Storage, einem bereitgestellten Datenfeed oder einer SQL Server-Datenbank lesen und darin schreiben.
In diesem Thema wird das Beispiel „Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset“ (Beispiel 5: Trainieren, Testen, Evaluieren für binäre Klassifizierung: Adult-Dataset) verwendet und vorausgesetzt, dass das Dataset bereits in eine Azure SQL-Tabelle mit dem Namen „censusdata“ geladen wurde.
Erstellen des Trainingsexperiments
Beim Öffnen von „Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset“ wird das Beispieldataset „Adult Census Income Binary Classification“ verwendet. Dabei ähnelt das Experiment im Experimentbereich der folgenden Abbildung:
So lesen Sie die Daten aus der Azure SQL-Tabelle:
Löschen Sie das Datasetmodul.
Geben Sie im Komponentensuchfeld „import“ ein.
Fügen Sie aus der Ergebnisliste ein Modul Import Data im Experimentbereich hinzu.
Verbinden Sie die Ausgabe des Moduls Import Data mit der Eingabe des Moduls Clean Missing Data.
Wählen Sie im Bereich „Eigenschaften“ in der Dropdownliste Datenquelle die Option Azure SQL-Datenbank aus.
Geben Sie in den Feldern Database server name, Database name, User name und Password die entsprechenden Informationen für Ihre Datenbank ein.
Geben Sie im Abfragefeld „Database“ die folgende Abfrage ein.
select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata;
Klicken Sie am unteren Rand des Experimentbereichs auf Run.
Erstellen des Vorhersageexperiments
Als Nächstes richten Sie das Vorhersageexperiment ein, über das Sie Ihren Webdienst bereitstellen.
- Klicken Sie am unteren Rand des Experimentbereichs auf Set Up Web Service, und wählen Sie Predictive Web Service [Recommended].
- Entfernen Sie die Module Web Service Input und Web Service Output aus dem Vorhersageexperiment.
- Geben Sie im Komponentensuchfeld „export“ ein.
- Fügen Sie aus der Ergebnisliste ein Modul Export Data im Experimentbereich hinzu.
- Verbinden Sie die Ausgabe des Moduls Score Model mit der Eingabe des Moduls Export Data.
- Wählen Sie im Bereich „Eigenschaften“ in der Dropdownliste „Datenziel“ die Option Azure SQL-Datenbank aus.
- Geben Sie in den Feldern Database server name, Database name, Server user account name und Server user account password die entsprechenden Informationen für Ihre Datenbank ein.
- Geben Sie in das Feld Comma separated list of columns to be saved „Scored Labels“ ein.
- Geben Sie in das Feld Data table name„dbo.ScoredLabels“ ein. Wenn die Tabelle nicht vorhanden ist, wird sie erstellt, wenn das Experiment ausgeführt oder der Webdienst aufgerufen wird.
- Geben Sie in das Feld Comma separated list of datatable columns „Scored Labels“ ein.
Wenn Sie eine Anwendung schreiben, die den endgültigen Webdienst aufruft, möchten Sie vielleicht zur Laufzeit eine andere Eingabeabfrage oder Zieltabelle angeben. Um diese Eingaben und Ausgaben zu konfigurieren, legen Sie mit dem Feature „Web Service Parameters“ das Modul Import Data, die Eigenschaft Data source und die Modusdatenziel-Eigenschaft Export Data fest. Weitere Informationen zu „Web Service Parameters“ finden Sie im Eintrag zu Web Service Parameters im Azure Machine Learning Studio (Classic) im „Cortana Intelligence and Machine Learning Blog“.
So konfigurieren Sie die Webdienstparameter für die Importabfrage und die Zieltabelle:
- Klicken Sie im Eigenschaftenbereich für das Import Data-Modul auf das Symbol des Felds Database query oben rechts, und wählen Sie Set as web service parameter.
- Klicken Sie im Eigenschaftenbereich für das Export Data-Modul auf das Symbol des Felds Data table name oben rechts, und wählen Sie Set as web service parameter.
- Klicken Sie am unteren Rand des Eigenschaftenbereichs für das Export Data -Modul im Abschnitt Web Service Parameters auf „Database query“, und benennen Sie sie in „Query“ um.
- Klicken Sie auf Data table name, und benennen Sie die Tabelle in Table um.
Wenn Sie fertig sind, sollte das Experiment der folgenden Abbildung ähneln:
Jetzt können Sie das Experiment als Webdienst bereitstellen.
Bereitstellen des Webdiensts
Sie können entweder einen klassischen oder einen neuen Webdienst bereitstellen.
Bereitstellen eines klassischen Webdiensts
So stellen Sie einen klassischen Webdienst bereit und erstellen eine Anwendung, die ihn verwendet:
Klicken Sie am unteren Rand des Experimentbereichs auf Run.
Wenn die Ausführung abgeschlossen ist, klicken Sie auf Deploy Web Service und wählen Deploy Web Service [Classic].
Suchen Sie Ihren API-Schlüssel auf dem Webdienst-Dashboard. Kopieren Sie ihn und speichern Sie ihn zur späteren Verwendung.
Klicken Sie in der Tabelle Default Endpoint auf den Link Batch Execution, um die API-Hilfeseite zu öffnen.
Erstellen Sie eine C#-Konsolenanwendung in Visual Studio: Neu>Projekt>Visual C#>Klassischer Windows-Desktop>Konsolen-App (.NET Framework).
Am unteren Rand der API-Hilfeseite finden Sie den Abschnitt Sample Code .
Kopieren Sie den C#-Beispielcode, fügen Sie ihn in die Datei „Program.cs“ ein, und entfernen Sie alle Verweise auf den Blobspeicher.
Aktualisieren Sie den Wert der Variablen apiKey mit dem zuvor gespeicherten API-Schlüssel.
Suchen Sie die Anforderungsdeklaration, und aktualisieren Sie die Werte der Webdienstparameter, die den Modulen Import Data und Export Data übergeben werden. In diesem Fall verwenden Sie die ursprüngliche Abfrage, definieren aber einen neuen Tabellennamen.
var request = new BatchExecutionRequest() { GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable2" }, } };
Führen Sie die Anwendung aus.
Nach Abschluss der Ausführung wird der Datenbank eine neue Tabelle mit den Bewertungsergebnissen hinzugefügt.
Bereitstellen eines neuen Webdiensts
Hinweis
Zum Bereitstellen eines neuen Webdiensts müssen Sie über ausreichende Berechtigungen in dem Abonnement verfügen, an das Sie den Webdienst bereitstellen. Weitere Informationen finden Sie unter Verwalten eines Webdiensts im Azure Machine Learning Studio (klassisch) Web Services-Portal.
So stellen Sie einen neuen Webdienst bereit und erstellen eine Anwendung, die ihn verwendet:
Klicken Sie am unteren Rand des Experimentbereichs auf Run.
Wenn die Ausführung abgeschlossen ist, klicken Sie auf Deploy Web Service und wählen Deploy Web Service [New].
Geben Sie auf der Seite „Deploy Experiment“ einen Namen für den Webdienst ein, wählen Sie einen Tarif aus, und klicken Sie auf Deploy.
Klicken Sie auf der Seite Quickstart auf Consume.
Klicken Sie im Abschnitt Sample Code auf Batch.
Erstellen Sie eine C#-Konsolenanwendung in Visual Studio: Neu>Projekt>Visual C#>Klassischer Windows-Desktop>Konsolen-App (.NET Framework).
Kopieren Sie den C#-Beispielcode, und fügen Sie ihn in die Datei „Program.cs“ ein.
Aktualisieren Sie den Wert der Variablen apiKey mit dem Primary Key im Abschnitt Basic consumption info.
Suchen Sie die Deklaration scoreRequest, und aktualisieren Sie die Werte der Webdienstparameter, die den Modulen Import Data und Export Data übergeben werden. In diesem Fall verwenden Sie die ursprüngliche Abfrage, definieren aber einen neuen Tabellennamen.
var scoreRequest = new { Inputs = new Dictionary<string, StringTable>() { }, GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable3" }, } };
Führen Sie die Anwendung aus.