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
- workspace
- Workspace
Das Arbeitsbereichsobjekt, das das abzurufende Webdienstobjekt enthält.
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
- enable_app_insights
- bool
Gibt an, ob die AppInsights-Protokollierung für den Webdienst aktiviert ist.
- autoscaler
- AutoScaler
Das Autoscaler-Objekt für den Webdienst.
- compute_name
- str
Der Name des ComputeTarget, in dem der Webdienst bereitgestellt wird.
- container_resource_requirements
- ContainerResourceRequirements
Die Containerressourcenanforderungen für den Webdienst.
- liveness_probe_requirements
- LivenessProbeRequirements
Die Anforderungen an den Livetest für den Webdienst.
- data_collection
- DataCollection
Das DataCollection-Objekt für den Webdienst.
- max_concurrent_requests_per_container
- int
Die maximale Anzahl gleichzeitiger Anforderungen pro Container für den Webdienst.
- max_request_wait_time
- int
Die maximale Anforderungswartezeit für den Webdienst in Millisekunden.
- num_replicas
- int
Die Anzahl der Replikate für den Webdienst. Jedes Replikat entspricht einem AKS-Pod.
- scoring_timeout_ms
- int
Das Bewertungstimeout für den Webdienst in Millisekunden.
- azureml.core.webservice.AksWebservice.scoring_uri
- str
Der Bewertungsendpunkt für den Webdienst.
- is_default
- bool
Wenn der Webdienst die Standardversion für den übergeordneten AksEndpoint ist.
- traffic_percentile
- int
Welcher Prozentsatz des Datenverkehrs an den Webdienst im übergeordneten AksEndpoint weitergeleitet werden soll.
- version_type
- VersionType
Der Versionstyp für den Webdienst im übergeordneten AksEndpoint.
- token_auth_enabled
- bool
Gibt an, ob die Tokenauthentifizierung für den Webdienst aktiviert ist.
- environment
- Environment
Das Environment-Objekt, das zum Erstellen des Webdiensts verwendet wurde.
Eine Liste der im Webdienst bereitgestellten Modelle.
- deployment_status
- str
Der Bereitstellungsstatus des Webdiensts.
- namespace
- str
Der AKS-Namespace des Webdiensts.
- azureml.core.webservice.AksWebservice.swagger_uri
- str
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
add_tags
Fügen Sie dem Tagwörterbuch dieses Webdiensts Schlüssel-Wert-Paare hinzu.
Löst eine WebserviceException aus.
add_tags(tags)
Parameter
Ausnahmen
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
- autoscale_enabled
- bool
Gibt an, ob die automatische Skalierung für diesen Webdienst aktiviert werden soll. Der Standardwert ist „True“, wenn num_replicas „None“ ist.
- autoscale_min_replicas
- int
Die Mindestanzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Der Standardwert lautet 1.
- autoscale_max_replicas
- int
Die maximale Anzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Der Standardwert ist 10.
- autoscale_refresh_seconds
- int
Gibt an, wie oft die Autoskalierung versuchen soll, diesen Webdienst zu skalieren. Der Standardwert lautet 1.
- autoscale_target_utilization
- int
Die Zielauslastung (in Prozent bis 100), die die Autoskalierung für den Webdienst nach Möglichkeit aufrechterhalten soll. Der Standardwert ist 70.
- collect_model_data
- bool
Gibt an, ob die Modelldatensammlung für diesen Webdienst aktiviert werden soll. Der Standardwert lautet „False“.
- auth_enabled
- bool
Gibt an, ob die Schlüsselauthentifizierung für diesen Webdienst aktiviert werden soll. Der Standardwert ist „True“.
- cpu_cores
- float
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.
- memory_gb
- float
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.
- enable_app_insights
- bool
Gibt an, ob für den Webdienst die Application Insights-Protokollierung aktiviert werden soll. Der Standardwert lautet „False“.
- scoring_timeout_ms
- int
Eine Zeitüberschreitung, die für Bewertungsaufrufe an diesen Webdienst erzwungen wird. Der Standardwert ist 60000.
- replica_max_concurrent_requests
- int
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.
- max_request_wait_time
- int
Die maximale Zeitspanne, die eine Anforderung in der Warteschlange verbleibt (in Millisekunden), bevor der Fehler 503 zurückgegeben wird. Standardwerte auf 500.
- num_replicas
- int
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.
- primary_key
- str
Ein primärer Authentifizierungsschlüssel, der für diesen Webdienst verwendet werden soll
- secondary_key
- str
Ein sekundärer Authentifizierungsschlüssel, der für diesen Webdienst verwendet werden soll
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.
- gpu_cores
- int
Die Anzahl der GPU-Kerne, die für diesen Webdienst zuzuordnen sind. Der Standardwert ist 0.
- period_seconds
- int
Gibt an, wie häufig (in Sekunden) ein Livetest durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1.
- initial_delay_seconds
- int
Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden Der Standardwert ist 310.
- timeout_seconds
- int
Die Anzahl der Sekunden, nach denen das Zeitlimit für den Livetest überschritten ist. Der Standardwert ist 2 Sekunden. Der Mindestwert ist 1.
- success_threshold
- int
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.
- failure_threshold
- int
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.
- namespace
- str
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.
- token_auth_enabled
- bool
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“.
- compute_target_name
- str
Der Name des Computeziels, in dem die Bereitstellung erfolgen soll
- cpu_cores_limit
- float
Die maximale Anzahl von CPU-Kernen, die von diesem Webdienst verwendet werden dürfen. Kann eine Dezimalzahl sein.
- memory_gb_limit
- float
Die maximale Arbeitsspeichermenge (in GB), die von diesem Webdienst verwendet werden darf. Kann eine Dezimalzahl sein.
- blobfuse_enabled
- bool
Gibt an, ob blobfuse für Modelldownloads für diesen Webdienst aktiviert werden soll. Der Standard ist „True“.
Gibt zurück
Ein Konfigurationsobjekt, das beim Bereitstellen eines AksWebservice-Objekts verwendet werden soll.
Rückgabetyp
Ausnahmen
get_access_token
Das Authentifizierungstoken für diesen Webdienst abrufen.
get_access_token()
Gibt zurück
Ein Objekt, das das Authentifizierungstoken für diesen Webdienst beschreibt.
Rückgabetyp
Ausnahmen
get_token
VERALTET. Verwenden Sie stattdessen die get_access_token
-Methode.
Das Authentifizierungstoken für diesen Webdienst abrufen.
get_token()
Gibt zurück
Das Authentifizierungstoken für diesen Webdienst und den Zeitpunkt der Aktualisierung.
Rückgabetyp
Ausnahmen
remove_tags
Die angegebenen Schlüssel aus dem Wörterbuch der Tags dieses Webdiensts entfernen.
remove_tags(tags)
Parameter
run
Ruft diesen Webdienst mit der bereitgestellten Eingabe auf.
run(input_data)
Parameter
- input_data
- <xref:varies>
Die Eingabe zum Aufrufen des Webdiensts.
Gibt zurück
Das Ergebnis des Aufrufens des Webdiensts.
Rückgabetyp
Ausnahmen
serialize
Konvertiert diesen Webdienst in ein serialisiertes JSON-Schlüsselverzeichnis.
serialize()
Gibt zurück
Die JSON-Darstellung dieses Webdiensts.
Rückgabetyp
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
- autoscale_enabled
- bool
Aktivieren oder Deaktivieren der automatischen Skalierung dieses Webdiensts.
- autoscale_min_replicas
- int
Die Mindestanzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen.
- autoscale_max_replicas
- int
Die maximale Anzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen.
- autoscale_refresh_seconds
- int
Gibt an, wie oft die Autoskalierung versuchen soll, diesen Webdienst zu skalieren.
- autoscale_target_utilization
- int
Die Zielauslastung (in Prozent bis 100), die die Autoskalierung für den Webdienst nach Möglichkeit aufrechterhalten soll.
- collect_model_data
- bool
Die Modelldatensammlung für diesen Webdienst aktivieren oder deaktivieren.
- auth_enabled
- bool
Gibt an, ob die Authentifizierung für diesen Webdienst aktiviert werden soll.
- cpu_cores
- float
Die Anzahl von CPU-Kernen, die für diesen Webdienst zugeordnet werden sollen. Dabei kann es sich um eine Dezimalzahl handeln
- memory_gb
- float
Menge an Arbeitsspeicher (in GB), die für diesen Webdienst zugeordnet werden soll. Dabei kann es sich um eine Dezimalzahl handeln
- enable_app_insights
- bool
Gibt an, ob für diesen Webdienst die Application Insights-Protokollierung aktiviert werden soll.
- scoring_timeout_ms
- int
Ein Zeitlimit, das für Bewertungsaufrufe an diesen Webdienst erzwungen wird.
- replica_max_concurrent_requests
- int
Die maximal zulässige Anzahl gleichzeitiger Anforderungen pro Replikat für diesen Webdienst.
- max_request_wait_time
- int
Die maximale Zeitspanne, die eine Anforderung in der Warteschlange verbleibt (in Millisekunden), bevor der Fehler 503 zurückgegeben wird
- num_replicas
- int
Die Anzahl von Containern, die für diesen Webdienst zugeordnet werden sollen
Wörterbuch der Schlüsselwerttags für diesen Webdienst Ersetzt vorhandene Tags.
Wörterbuch mit Schlüsselwerteigenschaften, die dem vorhandenen Eigenschaftenwörterbuch hinzugefügt werden.
Eine Liste der Modellobjekte, die mit dem aktualisierten Dienst gepackt werden sollen.
- inference_config
- InferenceConfig
Ein InferenceConfig-Objekt, das zum Bereitstellen der erforderlichen Eigenschaften zur Modellimplementierung verwendet wird.
- period_seconds
- int
Gibt an, wie häufig (in Sekunden) ein Livetest durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1.
- initial_delay_seconds
- int
Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden.
- timeout_seconds
- int
Die Anzahl der Sekunden, nach denen ein Timeout für den Livetest auftritt. Der Standardwert beträgt 1 Sekunde. Der Mindestwert ist 1.
- success_threshold
- int
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.
- failure_threshold
- int
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.
- namespace
- str
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.
- token_auth_enabled
- bool
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“.
- cpu_cores_limit
- float
Die maximale Anzahl der CPU-Kerne, die dieser Webdienst verwenden darf. Kann eine Dezimalzahl sein.
- memory_gb_limit
- float
Die maximale Arbeitsspeichermenge (in GB), die von diesem Webdienst verwendet werden darf. Dabei kann es sich um eine Dezimalzahl handeln.
- kwargs
- <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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für