Freigeben über


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
str

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

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
str

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
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

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

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
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 get_access_token-Methode.

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
int

Die Mindestanzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Der Standardwert lautet 1.

Standardwert: None
autoscale_max_replicas
int

Die maximale Anzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen. Der Standardwert ist 10.

Standardwert: None
autoscale_refresh_seconds
int

Gibt an, wie oft die Autoskalierung versuchen soll, diesen Webdienst zu skalieren. Der Standardwert lautet 1.

Standardwert: None
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.

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
int

Eine Zeitüberschreitung, die für Bewertungsaufrufe an diesen Webdienst erzwungen wird. Der Standardwert ist 60000.

Standardwert: None
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.

Standardwert: None
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.

Standardwert: None
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.

Standardwert: None
primary_key
str

Ein primärer Authentifizierungsschlüssel, der für diesen Webdienst verwendet werden soll

Standardwert: None
secondary_key
str

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
str

Eine Beschreibung für diesen Webdienst

Standardwert: None
gpu_cores
int

Die Anzahl der GPU-Kerne, die für diesen Webdienst zuzuordnen sind. Der Standardwert ist 0.

Standardwert: None
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.

Standardwert: None
initial_delay_seconds
int

Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden Der Standardwert ist 310.

Standardwert: None
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.

Standardwert: None
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.

Standardwert: None
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.

Standardwert: None
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.

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
str

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
int

Die Mindestanzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen.

Standardwert: None
autoscale_max_replicas
int

Die maximale Anzahl von Containern, die bei der automatischen Skalierung dieses Webdiensts verwendet werden sollen.

Standardwert: None
autoscale_refresh_seconds
int

Gibt an, wie oft die Autoskalierung versuchen soll, diesen Webdienst zu skalieren.

Standardwert: None
autoscale_target_utilization
int

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
int

Ein Zeitlimit, das für Bewertungsaufrufe an diesen Webdienst erzwungen wird.

Standardwert: None
replica_max_concurrent_requests
int

Die maximal zulässige Anzahl gleichzeitiger Anforderungen pro Replikat für diesen Webdienst.

Standardwert: None
max_request_wait_time
int

Die maximale Zeitspanne, die eine Anforderung in der Warteschlange verbleibt (in Millisekunden), bevor der Fehler 503 zurückgegeben wird

Standardwert: None
num_replicas
int

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
str

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
int

Die Anzahl der GPU-Kerne, die für diesen Webdienst zuzuordnen sind

Standardwert: None
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.

Standardwert: None
initial_delay_seconds
int

Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden.

Standardwert: None
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.

Standardwert: None
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.

Standardwert: None
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.

Standardwert: None
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.

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