AksWebservice Klasse
Stellt ein Machine Learning-Modell dar, das als Webdienst-Endpunkt auf Azure Kubernetes Service bereitgestellt wird
Ein bereitgestellter Dienst wird aus einem Modell, einem Skript und zugehörigen Dateien erstellt. Der resultierende Webdienst ist ein HTTP-Endpunkt mit Lastenausgleich und einer REST-API. Sie können Daten an diese API senden und die vom Modell zurückgegebene Vorhersage empfangen.
AksWebservice stellt einen einzelnen Dienst auf einem Endpunkt bereit. Verwenden Sie die AksEndpoint-Klasse, um mehrere Dienste auf einem Endpunkt bereitzustellen.
Weitere Informationen finden Sie im Cluster Bereitstellen eines Modells in einem Azure Kubernetes Service.
Initialisieren Sie die Webdienst-instance.
Der Webdienstkonstruktor ruft eine Clouddarstellung eines Webdienstobjekts ab, das dem bereitgestellten Arbeitsbereich zugeordnet ist. Es wird eine instance einer untergeordneten Klasse zurückgegeben, die dem spezifischen Typ des abgerufenen Webdienstobjekts entspricht.
- Vererbung
-
AksWebservice
Konstruktor
AksWebservice(workspace, name)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
Das Arbeitsbereichsobjekt, das das abzurufende Webdienstobjekt enthält. |
name
Erforderlich
|
Der Name des abzurufenden Webdienstobjekts. |
Hinweise
Das empfohlene Bereitstellungsmuster besteht darin, ein Bereitstellungskonfigurationsobjekt mit der deploy_configuration
-Methode zu erstellen und es dann wie unten dargestellt mit der deploy
-Methode der Model-Klasse zu verwenden.
# Set the web service configuration (using default here)
aks_config = AksWebservice.deploy_configuration()
# # Enable token auth and disable (key) auth on the webservice
# aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)
Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb.
Es gibt eine Reihe von Möglichkeiten, ein Modell als Webdienst bereitzustellen, darunter die folgenden:
deploy
-Methode des Model für bereits im Arbeitsbereich registrierte Modelle.deploy_from_image
-Methode des Webservice.deploy_from_model
-Methode des Webservice für bereits im Arbeitsbereich registrierte Modelle. Mit dieser Methode wird ein Image erstellt.deploy
-Methode des Webservice, mit der ein Modell registriert und ein Image erstellt wird.
Informationen zum Arbeiten mit Webdiensten finden Sie unter
Nutzen eines als Webdienst bereitgestellten Azure Machine Learning-Modells
Überwachen und Erfassen von Daten von ML-Webdienst-Endpunkten
Im Abschnitt Variablen werden Attribute einer lokalen Darstellung des Cloud-AksWebservice-Objekts aufgeführt. Diese Variablen sollten als schreibgeschützt betrachtet werden. Das Ändern ihrer Werte wird im entsprechenden Cloudobjekt nicht widergespiegelt.
Variablen
Name | Beschreibung |
---|---|
enable_app_insights
|
Gibt an, ob die AppInsights-Protokollierung für den Webdienst aktiviert ist. |
autoscaler
|
Das Autoscaler-Objekt für den Webdienst. |
compute_name
|
Der Name des ComputeTarget, in dem der Webdienst bereitgestellt wird. |
container_resource_requirements
|
Die Containerressourcenanforderungen für den Webdienst. |
liveness_probe_requirements
|
Die Anforderungen an den Livetest für den Webdienst. |
data_collection
|
Das DataCollection-Objekt für den Webdienst. |
max_concurrent_requests_per_container
|
Die maximale Anzahl gleichzeitiger Anforderungen pro Container für den Webdienst. |
max_request_wait_time
|
Die maximale Anforderungswartezeit für den Webdienst in Millisekunden. |
num_replicas
|
Die Anzahl der Replikate für den Webdienst. Jedes Replikat entspricht einem AKS-Pod. |
scoring_timeout_ms
|
Das Bewertungstimeout für den Webdienst in Millisekunden. |
azureml.core.webservice.AksWebservice.scoring_uri
|
Der Bewertungsendpunkt für den Webdienst. |
is_default
|
Wenn der Webdienst die Standardversion für den übergeordneten AksEndpoint ist. |
traffic_percentile
|
Welcher Prozentsatz des Datenverkehrs an den Webdienst im übergeordneten AksEndpoint weitergeleitet werden soll. |
version_type
|
Der Versionstyp für den Webdienst im übergeordneten AksEndpoint. |
token_auth_enabled
|
Gibt an, ob die Tokenauthentifizierung für den Webdienst aktiviert ist. |
environment
|
Das Environment-Objekt, das zum Erstellen des Webdiensts verwendet wurde. |
azureml.core.webservice.AksWebservice.models
|
Eine Liste der im Webdienst bereitgestellten Modelle. |
deployment_status
|
Der Bereitstellungsstatus des Webdiensts. |
namespace
|
Der AKS-Namespace des Webdiensts. |
azureml.core.webservice.AksWebservice.swagger_uri
|
Der Swagger-Endpunkt für den Webdienst. |
Methoden
add_properties |
Fügen Sie dem Eigenschaftenwörterbuch dieses Webdiensts Schlüssel-Wert-Paare hinzu. |
add_tags |
Fügen Sie dem Tagwörterbuch dieses Webdiensts Schlüssel-Wert-Paare hinzu. Löst eine WebserviceException aus. |
deploy_configuration |
Erstellt ein Konfigurationsobjekt für die Bereitstellung auf einem AKS-Computeziel |
get_access_token |
Das Authentifizierungstoken für diesen Webdienst abrufen. |
get_token |
VERALTET. Verwenden Sie stattdessen die Das Authentifizierungstoken für diesen Webdienst abrufen. |
remove_tags |
Die angegebenen Schlüssel aus dem Wörterbuch der Tags dieses Webdiensts entfernen. |
run |
Ruft diesen Webdienst mit der bereitgestellten Eingabe auf. |
serialize |
Konvertiert diesen Webdienst in ein serialisiertes JSON-Schlüsselverzeichnis. |
update |
Den Webdienst mit den bereitgestellten Eigenschaften aktualisieren. Werte, die als „None“ belassen werden, bleiben in diesem Webdienst unverändert. |
add_properties
Fügen Sie dem Eigenschaftenwörterbuch dieses Webdiensts Schlüssel-Wert-Paare hinzu.
add_properties(properties)
Parameter
Name | Beschreibung |
---|---|
properties
Erforderlich
|
Das Wörterbuch der hinzuzufügenden Eigenschaften. |
add_tags
Fügen Sie dem Tagwörterbuch dieses Webdiensts Schlüssel-Wert-Paare hinzu.
Löst eine WebserviceException aus.
add_tags(tags)
Parameter
Name | Beschreibung |
---|---|
tags
Erforderlich
|
Das Wörterbuch der hinzuzufügenden Tags. |
Ausnahmen
Typ | Beschreibung |
---|---|
deploy_configuration
Erstellt ein Konfigurationsobjekt für die Bereitstellung auf einem AKS-Computeziel
static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)
Parameter
Name | Beschreibung |
---|---|
autoscale_enabled
|
Gibt an, ob die automatische Skalierung für diesen Webdienst aktiviert werden soll. Der Standardwert ist „True“, wenn num_replicas „None“ ist. Standardwert: None
|
autoscale_min_replicas
|
Die Mindestanzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Der Standardwert lautet 1. Standardwert: None
|
autoscale_max_replicas
|
Die maximale Anzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Der Standardwert ist 10. Standardwert: None
|
autoscale_refresh_seconds
|
Gibt an, wie oft die Autoskalierung versuchen soll, diesen Webdienst zu skalieren. Der Standardwert lautet 1. Standardwert: None
|
autoscale_target_utilization
|
Die Zielauslastung (in Prozent bis 100), die die Autoskalierung für den Webdienst nach Möglichkeit aufrechterhalten soll. Der Standardwert ist 70. Standardwert: None
|
collect_model_data
|
Gibt an, ob die Modelldatensammlung für diesen Webdienst aktiviert werden soll. Der Standardwert lautet „False“. Standardwert: None
|
auth_enabled
|
Gibt an, ob die Schlüsselauthentifizierung für diesen Webdienst aktiviert werden soll. Der Standardwert ist „True“. Standardwert: None
|
cpu_cores
|
Die Anzahl von CPU-Kernen, die für diesen Webdienst zugeordnet werden sollen. Dabei kann es sich um eine Dezimalzahl handeln. Der Standardwert ist 0,1. Gibt die in Azure Kubernetes Service für Pods angeforderten Kerne an, nicht die maximale Anzahl. Standardwert: None
|
memory_gb
|
Menge an Arbeitsspeicher (in GB), die für diesen Webdienst zugeordnet werden soll. Dabei kann es sich um eine Dezimalzahl handeln. Der Standardwert ist 0.5. Gibt den in Azure Kubernetes Service für Pods angeforderten Arbeitsspeicher an, nicht die maximale Menge. Standardwert: None
|
enable_app_insights
|
Gibt an, ob für den Webdienst die Application Insights-Protokollierung aktiviert werden soll. Der Standardwert lautet „False“. Standardwert: None
|
scoring_timeout_ms
|
Eine Zeitüberschreitung, die für Bewertungsaufrufe an diesen Webdienst erzwungen wird. Der Standardwert ist 60000. Standardwert: None
|
replica_max_concurrent_requests
|
Die maximal zulässige Anzahl gleichzeitiger Anforderungen pro Replikat für diesen Webdienst. Der Standardwert lautet 1. Ändern Sie diese Einstellung nicht vom Standardwert 1, es sei denn, dies wird vom technischen Support von Microsoft oder einem Mitglied Azure Machine Learning angeordnet. Standardwert: None
|
max_request_wait_time
|
Die maximale Zeitspanne, die eine Anforderung in der Warteschlange verbleibt (in Millisekunden), bevor der Fehler 503 zurückgegeben wird. Standardwerte auf 500. Standardwert: None
|
num_replicas
|
Die Anzahl von Containern, die für diesen Webdienst zugeordnet werden sollen. Für diese gibt es keinen Standardwert. Wenn dieser Parameter nicht festgelegt wird, wird die Autoskalierung automatisch aktiviert. Standardwert: None
|
primary_key
|
Ein primärer Authentifizierungsschlüssel, der für diesen Webdienst verwendet werden soll Standardwert: None
|
secondary_key
|
Ein sekundärer Authentifizierungsschlüssel, der für diesen Webdienst verwendet werden soll Standardwert: None
|
tags
|
Wörterbuch der Schlüsselwerttags für diesen Webdienst Standardwert: None
|
properties
|
Wörterbuch mit Schlüsselwerteigenschaften für diesen Webdienst Diese Eigenschaften können nach der Bereitstellung nicht mehr geändert werden. Es können jedoch neue Schlüssel-Wert-Paare hinzugefügt werden. Standardwert: None
|
description
|
Eine Beschreibung für diesen Webdienst Standardwert: None
|
gpu_cores
|
Die Anzahl der GPU-Kerne, die für diesen Webdienst zuzuordnen sind. Der Standardwert ist 0. Standardwert: None
|
period_seconds
|
Gibt an, wie häufig (in Sekunden) ein Livetest durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1. Standardwert: None
|
initial_delay_seconds
|
Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden Der Standardwert ist 310. Standardwert: None
|
timeout_seconds
|
Die Anzahl der Sekunden, nach denen das Zeitlimit für den Livetest überschritten ist. Der Standardwert ist 2 Sekunden. Der Mindestwert ist 1. Standardwert: None
|
success_threshold
|
Die Anzahl der Erfolge, die mindestens aufeinander folgen müssen, damit ein Livetest nach einem Fehler wieder als erfolgreich betrachtet wird Der Standardwert lautet 1. Der Mindestwert ist 1. Standardwert: None
|
failure_threshold
|
Wenn ein Pod startet und der Livetest fehlschlägt, versucht Kubernetes, die Zeiten des Parameters FailureThreshold zu verwenden, bevor aufgegeben wird. Der Standardwert ist 3. Der Mindestwert ist 1. Standardwert: None
|
namespace
|
Der Kubernetes-Namespace, in dem dieser Webdienst bereitgestellt werden soll: bis zu 63 alphanumerische Kleinbuchstaben (a–z, 0–9) und Bindestriche (-). Als erstes und letztes Zeichen dürfen keine Bindestriche verwendet werden. Standardwert: None
|
token_auth_enabled
|
Gibt an, ob die Tokenauthentifizierung für diesen Webservice aktiviert werden soll. Ist diese Option aktiviert, können Benutzer auf diesen Webdienst zugreifen, indem sie ein Zugriffstoken mit ihren Azure Active Directory-Anmeldeinformationen abrufen. Der Standardwert lautet „False“. Standardwert: None
|
compute_target_name
|
Der Name des Computeziels, in dem die Bereitstellung erfolgen soll Standardwert: None
|
cpu_cores_limit
|
Die maximale Anzahl von CPU-Kernen, die von diesem Webdienst verwendet werden dürfen. Kann eine Dezimalzahl sein. Standardwert: None
|
memory_gb_limit
|
Die maximale Arbeitsspeichermenge (in GB), die von diesem Webdienst verwendet werden darf. Kann eine Dezimalzahl sein. Standardwert: None
|
blobfuse_enabled
|
Gibt an, ob blobfuse für Modelldownloads für diesen Webdienst aktiviert werden soll. Der Standard ist „True“. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Ein Konfigurationsobjekt, das beim Bereitstellen eines AksWebservice-Objekts verwendet werden soll. |
Ausnahmen
Typ | Beschreibung |
---|---|
get_access_token
Das Authentifizierungstoken für diesen Webdienst abrufen.
get_access_token()
Gibt zurück
Typ | Beschreibung |
---|---|
Ein Objekt, das das Authentifizierungstoken für diesen Webdienst beschreibt. |
Ausnahmen
Typ | Beschreibung |
---|---|
get_token
VERALTET. Verwenden Sie stattdessen die get_access_token
-Methode.
Das Authentifizierungstoken für diesen Webdienst abrufen.
get_token()
Gibt zurück
Typ | Beschreibung |
---|---|
Das Authentifizierungstoken für diesen Webdienst und den Zeitpunkt der Aktualisierung. |
Ausnahmen
Typ | Beschreibung |
---|---|
remove_tags
Die angegebenen Schlüssel aus dem Wörterbuch der Tags dieses Webdiensts entfernen.
remove_tags(tags)
Parameter
Name | Beschreibung |
---|---|
tags
Erforderlich
|
Die Liste der zu entfernenden Schlüssel. |
run
Ruft diesen Webdienst mit der bereitgestellten Eingabe auf.
run(input_data)
Parameter
Name | Beschreibung |
---|---|
input_data
Erforderlich
|
<xref:varies>
Die Eingabe zum Aufrufen des Webdiensts. |
Gibt zurück
Typ | Beschreibung |
---|---|
Das Ergebnis des Aufrufens des Webdiensts. |
Ausnahmen
Typ | Beschreibung |
---|---|
serialize
Konvertiert diesen Webdienst in ein serialisiertes JSON-Schlüsselverzeichnis.
serialize()
Gibt zurück
Typ | Beschreibung |
---|---|
Die JSON-Darstellung dieses Webdiensts. |
update
Den Webdienst mit den bereitgestellten Eigenschaften aktualisieren.
Werte, die als „None“ belassen werden, bleiben in diesem Webdienst unverändert.
update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
image
|
Ein neues Image, das im Webdienst bereitgestellt werden soll. Standardwert: None
|
autoscale_enabled
|
Aktivieren oder Deaktivieren der automatischen Skalierung dieses Webdiensts. Standardwert: None
|
autoscale_min_replicas
|
Die Mindestanzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Standardwert: None
|
autoscale_max_replicas
|
Die maximale Anzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Standardwert: None
|
autoscale_refresh_seconds
|
Gibt an, wie oft die Autoskalierung versuchen soll, diesen Webdienst zu skalieren. Standardwert: None
|
autoscale_target_utilization
|
Die Zielauslastung (in Prozent bis 100), die die Autoskalierung für den Webdienst nach Möglichkeit aufrechterhalten soll. Standardwert: None
|
collect_model_data
|
Die Modelldatensammlung für diesen Webdienst aktivieren oder deaktivieren. Standardwert: None
|
auth_enabled
|
Gibt an, ob die Authentifizierung für diesen Webdienst aktiviert werden soll. Standardwert: None
|
cpu_cores
|
Die Anzahl von CPU-Kernen, die für diesen Webdienst zugeordnet werden sollen. Dabei kann es sich um eine Dezimalzahl handeln Standardwert: None
|
memory_gb
|
Menge an Arbeitsspeicher (in GB), die für diesen Webdienst zugeordnet werden soll. Dabei kann es sich um eine Dezimalzahl handeln Standardwert: None
|
enable_app_insights
|
Gibt an, ob für diesen Webdienst die Application Insights-Protokollierung aktiviert werden soll. Standardwert: None
|
scoring_timeout_ms
|
Ein Zeitlimit, das für Bewertungsaufrufe an diesen Webdienst erzwungen wird. Standardwert: None
|
replica_max_concurrent_requests
|
Die maximal zulässige Anzahl gleichzeitiger Anforderungen pro Replikat für diesen Webdienst. Standardwert: None
|
max_request_wait_time
|
Die maximale Zeitspanne, die eine Anforderung in der Warteschlange verbleibt (in Millisekunden), bevor der Fehler 503 zurückgegeben wird Standardwert: None
|
num_replicas
|
Die Anzahl von Containern, die für diesen Webdienst zugeordnet werden sollen Standardwert: None
|
tags
|
Wörterbuch der Schlüsselwerttags für diesen Webdienst Ersetzt vorhandene Tags. Standardwert: None
|
properties
|
Wörterbuch mit Schlüsselwerteigenschaften, die dem vorhandenen Eigenschaftenwörterbuch hinzugefügt werden. Standardwert: None
|
description
|
Eine Beschreibung für diesen Webdienst Standardwert: None
|
models
|
Eine Liste der Modellobjekte, die mit dem aktualisierten Dienst gepackt werden sollen. Standardwert: None
|
inference_config
|
Ein InferenceConfig-Objekt, das zum Bereitstellen der erforderlichen Eigenschaften zur Modellimplementierung verwendet wird. Standardwert: None
|
gpu_cores
|
Die Anzahl der GPU-Kerne, die für diesen Webdienst zuzuordnen sind Standardwert: None
|
period_seconds
|
Gibt an, wie häufig (in Sekunden) ein Livetest durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1. Standardwert: None
|
initial_delay_seconds
|
Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden. Standardwert: None
|
timeout_seconds
|
Die Anzahl der Sekunden, nach denen ein Timeout für den Livetest auftritt. Der Standardwert beträgt 1 Sekunde. Der Mindestwert ist 1. Standardwert: None
|
success_threshold
|
Die Anzahl der Erfolge, die mindestens aufeinander folgen müssen, damit ein Livetest nach einem Fehler wieder als erfolgreich betrachtet wird. Der Standardwert lautet 1. Der Mindestwert ist 1. Standardwert: None
|
failure_threshold
|
Wenn ein Pod startet und der Livetest fehlschlägt, versucht Kubernetes, die Zeiten des Parameters FailureThreshold zu verwenden, bevor aufgegeben wird. Der Standardwert ist 3. Der Mindestwert ist 1. Standardwert: None
|
namespace
|
Der Kubernetes-Namespace, in dem dieser Webdienst bereitgestellt werden soll: bis zu 63 alphanumerische Kleinbuchstaben (a–z, 0–9) und Bindestriche (-). Als erstes und letztes Zeichen dürfen keine Bindestriche verwendet werden. Standardwert: None
|
token_auth_enabled
|
Gibt an, ob die Tokenauthentifizierung für diesen Webservice aktiviert werden soll. Ist diese Option aktiviert, können Benutzer auf diesen Webdienst zugreifen, indem sie ein Zugriffstoken mit ihren Azure Active Directory-Anmeldeinformationen abrufen. Der Standardwert ist „FALSE“. Standardwert: None
|
cpu_cores_limit
|
Die maximale Anzahl der CPU-Kerne, die dieser Webdienst verwenden darf. Kann eine Dezimalzahl sein. Standardwert: None
|
memory_gb_limit
|
Die maximale Arbeitsspeichermenge (in GB), die von diesem Webdienst verwendet werden darf. Dabei kann es sich um eine Dezimalzahl handeln. Standardwert: None
|
kwargs
Erforderlich
|
<xref:varies>
Include-Parameter, um die Migration des AKS-Webdiensts zum Kubernetes-Onlineendpunkt und zur Bereitstellung zu unterstützen. is_migration=True|False, compute_target=. |
Ausnahmen
Typ | Beschreibung |
---|---|