Freigeben über


AksWebservice Klasse

Stellt ein Machine Learning-Modell dar, das als Webdienstendpunkt in Azure Kubernetes Service bereitgestellt wird.

Ein bereitgestellter Dienst wird aus einem Modell, Skript und zugehörigen Dateien erstellt. Der resultierende Webdienst ist ein lastenausgleichender HTTP-Endpunkt mit 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 unter Bereitstellen eines Modells für einen Azure Kubernetes-Dienstcluster.

Initialisieren Sie die Webservice-Instanz.

Der Webservice-Konstruktor ruft eine Clouddarstellung eines Webservice-Objekts ab, das dem bereitgestellten Arbeitsbereich zugeordnet ist. Es wird eine Instanz einer untergeordneten Klasse zurückgegeben, die dem spezifischen Typ des abgerufenen Webservice-Objekts entspricht.

Konstruktor

AksWebservice(workspace, name)

Parameter

Name Beschreibung
workspace
Erforderlich

Das Arbeitsbereichsobjekt, das das abzurufende Webservice-Objekt enthält.

name
Erforderlich
str

Der Name des abzurufenden Webservice-Objekts.

Hinweise

Das empfohlene Bereitstellungsmuster besteht darin, ein Bereitstellungskonfigurationsobjekt mit der deploy_configuration Methode zu erstellen und es dann mit der deploy Methode der Model Klasse zu verwenden, wie unten dargestellt.


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

Es gibt eine Reihe von Möglichkeiten, ein Modell als Webdienst bereitzustellen, einschließlich der folgenden:

  • deploy Die Methode der modelle, die Model bereits im Arbeitsbereich registriert sind.

  • deploy_from_image Methode von Webservice.

  • deploy_from_model Methode für Webservice Modelle, die bereits im Arbeitsbereich registriert sind. Diese Methode erstellt ein Bild.

  • deploy -Methode, Webservicedie ein Modell registriert und ein Bild erstellt.

Informationen zum Arbeiten mit Webservices finden Sie unter

Im Abschnitt "Variablen " werden Attribute einer lokalen Darstellung des Cloud AksWebservice-Objekts aufgelistet. Diese Variablen sollten als schreibgeschützt betrachtet werden. Das Ändern ihrer Werte wird nicht im entsprechenden Cloudobjekt wiedergegeben.

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,für den der Webdienst bereitgestellt wird.

container_resource_requirements

Die Containerressourcenanforderungen für den Webdienst.

liveness_probe_requirements

Die Anforderungen der Liveness-Probe für den Webservice.

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 Wartezeit für die Anforderung 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 das übergeordnete AksEndpoint ist.

traffic_percentile
int

Der Prozentsatz des Datenverkehrs, der 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 schlüsselwertpaare zum Eigenschaftenverzeichnis dieses Webdiensts hinzu.

add_tags

Fügen Sie schlüsselwertpaare zum Tagsverzeichnis dieses Webdiensts hinzu.

Löst ein WebserviceException.

deploy_configuration

Erstellen Sie ein Konfigurationsobjekt für die Bereitstellung in einem AKS-Computeziel.

get_access_token

Abrufen des Authentifizierungstokens für diesen Webdienst.

get_token

VERALTET. Verwenden Sie get_access_token stattdessen die Methode.

Abrufen des Authentifizierungstokens für diesen Webdienst.

remove_tags

Entfernen Sie die angegebenen Schlüssel aus dem Wörterbuch der Tags dieses Webdiensts.

run

Rufen Sie diesen Webdienst mit der bereitgestellten Eingabe auf.

serialize

Konvertieren Sie diesen Webdienst in ein serialisiertes JSON-Wörterbuch.

update

Aktualisieren Sie den Webdienst mit den bereitgestellten Eigenschaften.

Werte, die in diesem Webdienst unverändert bleiben, bleiben unverändert.

add_properties

Fügen Sie schlüsselwertpaare zum Eigenschaftenverzeichnis dieses Webdiensts hinzu.

add_properties(properties)

Parameter

Name Beschreibung
properties
Erforderlich

Das Wörterbuch der hinzuzufügenden Eigenschaften.

add_tags

Fügen Sie schlüsselwertpaare zum Tagsverzeichnis dieses Webdiensts hinzu.

Löst ein WebserviceException.

add_tags(tags)

Parameter

Name Beschreibung
tags
Erforderlich

Das Wörterbuch der hinzuzufügenden Tags.

Ausnahmen

Typ Beschreibung

deploy_configuration

Erstellen Sie ein Konfigurationsobjekt für die Bereitstellung in 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. Standardwert ist "True", wenn num_replicas "None" ist.

Standardwert: None
autoscale_min_replicas
int

Die Mindestanzahl der Container, die beim automatischenCaling dieses Webdiensts verwendet werden sollen. Der Standardwert lautet 1.

Standardwert: None
autoscale_max_replicas
int

Die maximale Anzahl von Containern, die beim automatischenCaling dieses Webdiensts verwendet werden sollen. Standardwert ist 10.

Standardwert: None
autoscale_refresh_seconds
int

Wie oft der Autoscaler versuchen sollte, diesen Webdienst zu skalieren. Der Standardwert lautet 1.

Standardwert: None
autoscale_target_utilization
int

Die Zielauslastung (in Prozent von 100) sollte der Autoscaler versuchen, diesen Webdienst beizubehalten. 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 der CPU-Kerne, die für diesen Webdienst zugewiesen werden sollen. Dies kann eine Dezimalzahl sein. Der Standardwert ist 0.1. Entspricht der Pod-Core-Anforderung, nicht dem Grenzwert, in Azure Kubernetes Service.

Standardwert: None
memory_gb

Die Speichermenge (in GB), die für diesen Webdienst zugewiesen werden soll. Dies kann eine Dezimalzahl sein. Der Standardwert ist 0,5. Entspricht der Pod-Speicheranforderung, nicht dem Grenzwert, im Azure Kubernetes-Dienst.

Standardwert: None
enable_app_insights

Gibt an, ob die Application Insights-Protokollierung für diesen Webdienst aktiviert werden soll. Der Standardwert lautet „False“.

Standardwert: None
scoring_timeout_ms
int

Ein Timeout zum Erzwingen von Bewertungsaufrufen für diesen Webdienst. Standardwert ist 60000.

Standardwert: None
replica_max_concurrent_requests
int

Die Anzahl der maximalen gleichzeitigen Anforderungen pro Replikat, die für diesen Webdienst zulässig sind. Der Standardwert lautet 1. Ändern Sie diese Einstellung nicht vom Standardwert 1, es sei denn, der technische Support von Microsoft oder ein Mitglied des Azure Machine Learning-Teams.

Standardwert: None
max_request_wait_time
int

Die maximale Zeitspanne, die eine Anforderung in der Warteschlange (in Millisekunden) verbleibt, bevor ein 503-Fehler zurückgegeben wird. Standardwert ist 500.

Standardwert: None
num_replicas
int

Die Anzahl der Container, die für diesen Webdienst zugewiesen werden sollen. Wenn dieser Parameter nicht festgelegt ist, ist der Autoscaler standardmäßig 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, die diesem Webdienst zugewiesen werden sollen.

Standardwert: None
properties

Wörterbuch der Schlüsselwerteigenschaften, die diesem Webdienst zugewiesen werden sollen. Diese Eigenschaften können nach der Bereitstellung nicht geändert werden, aber neue Schlüsselwertpaare können 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 zugewiesen werden sollen. Standardmäßig auf 0 gesetzt.

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, nachdem der Container gestartet wurde, bevor Liveness-Probes initiiert werden. Standardwert ist 310.

Standardwert: None
timeout_seconds
int

Die Anzahl der Sekunden, nach denen die Livenesssonde eine Zeitüberschreitung aufweist. Der Standardwert ist 2 Sekunde. Der Mindestwert ist 1.

Standardwert: None
success_threshold
int

Die minimalen aufeinander folgenden Erfolge für die Livenesssonde, die nach einem Fehler als erfolgreich angesehen werden. 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 Zeichen ('-'z', '0'-'9') und Bindestriche ('-'). Die ersten und letzten Zeichen dürfen keine Bindestriche sein.

Standardwert: None
token_auth_enabled

Gibt an, ob die Tokenauthentifizierung für diesen Webdienst aktiviert werden soll. Wenn dies aktiviert ist, können Benutzer auf diesen Webdienst zugreifen, indem sie ein Zugriffstoken mithilfe ihrer Azure Active Directory-Anmeldeinformationen abrufen. Der Standardwert lautet „False“.

Standardwert: None
compute_target_name
str

Der Name des Computeziels, für das bereitgestellt werden soll

Standardwert: None
cpu_cores_limit

Die maximale Anzahl von CPU-Kernen, die dieser Webdienst verwenden darf. Dies kann eine Dezimalzahl sein.

Standardwert: None
memory_gb_limit

Die maximale Arbeitsspeichermenge (in GB) dieses Webdiensts darf verwendet werden. Dies kann eine Dezimalzahl sein.

Standardwert: None
blobfuse_enabled

Gibt an, ob blobfuse für den Modelldownload für diesen Webdienst aktiviert werden soll. Standardwert ist "True".

Standardwert: None

Gibt zurück

Typ Beschreibung

Ein Konfigurationsobjekt, das beim Bereitstellen eines AksWebservice verwendet werden soll.

Ausnahmen

Typ Beschreibung

get_access_token

Abrufen des Authentifizierungstokens für diesen Webdienst.

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

Abrufen des Authentifizierungstokens für diesen Webdienst.

get_token()

Gibt zurück

Typ Beschreibung

Das Authentifizierungstoken für diesen Webdienst und wann sie aktualisiert werden soll.

Ausnahmen

Typ Beschreibung

remove_tags

Entfernen Sie die angegebenen Schlüssel aus dem Wörterbuch der Tags dieses Webdiensts.

remove_tags(tags)

Parameter

Name Beschreibung
tags
Erforderlich

Die Liste der zu entfernenden Schlüssel

run

Rufen Sie diesen Webdienst mit der bereitgestellten Eingabe auf.

run(input_data)

Parameter

Name Beschreibung
input_data
Erforderlich
<xref:varies>

Die Eingabe zum Aufrufen des Webdiensts mit

Gibt zurück

Typ Beschreibung

Das Ergebnis des Aufrufens des Webdiensts

Ausnahmen

Typ Beschreibung

serialize

Konvertieren Sie diesen Webdienst in ein serialisiertes JSON-Wörterbuch.

serialize()

Gibt zurück

Typ Beschreibung

Die JSON-Darstellung dieses Webdiensts.

update

Aktualisieren Sie den Webdienst mit den bereitgestellten Eigenschaften.

Werte, die in diesem Webdienst unverändert bleiben, bleiben 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 für den Webdienst bereitgestellt werden soll

Standardwert: None
autoscale_enabled

Aktivieren oder Deaktivieren der automatischen Skalierung dieses Webdiensts

Standardwert: None
autoscale_min_replicas
int

Die Mindestanzahl der Container, die beim automatischenCaling dieses Webdiensts verwendet werden sollen

Standardwert: None
autoscale_max_replicas
int

Die maximale Anzahl von Containern, die beim automatischenCaling dieses Webdiensts verwendet werden sollen

Standardwert: None
autoscale_refresh_seconds
int

Wie oft der Autoscaler versuchen sollte, diesen Webdienst zu skalieren

Standardwert: None
autoscale_target_utilization
int

Die Zielauslastung (in Prozent von 100) sollte der Autoscaler versuchen, für diesen Webdienst beizubehalten.

Standardwert: None
collect_model_data

Aktivieren oder Deaktivieren der Modelldatensammlung für diesen Webdienst

Standardwert: None
auth_enabled

Gibt an, ob die Authentifizierung für diesen Webdienst aktiviert werden soll.

Standardwert: None
cpu_cores

Die Anzahl der CPU-Kerne, die für diesen Webdienst zugewiesen werden sollen. Kann eine Dezimalzahl sein

Standardwert: None
memory_gb

Die Speichermenge (in GB), die für diesen Webdienst zugewiesen werden soll. Kann eine Dezimalzahl sein

Standardwert: None
enable_app_insights

Gibt an, ob die Application Insights-Protokollierung für diesen Webdienst aktiviert werden soll.

Standardwert: None
scoring_timeout_ms
int

Ein Timeout zum Erzwingen von Bewertungsaufrufen für diesen Webdienst

Standardwert: None
replica_max_concurrent_requests
int

Die Anzahl der maximalen gleichzeitigen Anforderungen pro Replikat, die für diesen Webdienst zulässig sind.

Standardwert: None
max_request_wait_time
int

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

Standardwert: None
num_replicas
int

Die Anzahl der Container, die für diesen Webdienst zugewiesen werden sollen

Standardwert: None
tags

Wörterbuch der Schlüsselwerttags, die diesem Webdienst zugewiesen werden sollen. Ersetzt vorhandene Tags.

Standardwert: None
properties

Wörterbuch der Schlüsselwerteigenschaften, die zum vorhandenen Eigenschaftenwörterbuch hinzugefügt werden sollen

Standardwert: None
description
str

Eine Beschreibung, die diesem Webdienst zu verleihen ist

Standardwert: None
models

Eine Liste der Model-Objekte, die mit dem aktualisierten Dienst verpackt werden sollen

Standardwert: None
inference_config

Ein InferenceConfig -Objekt, das verwendet wird, um die erforderlichen Modellbereitstellungseigenschaften bereitzustellen.

Standardwert: None
gpu_cores
int

Die Anzahl der GPU-Kerne, die für diesen Webdienst zugewiesen werden sollen

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, nachdem der Container gestartet wurde, bevor Livenesssonden initiiert werden.

Standardwert: None
timeout_seconds
int

Die Anzahl der Sekunden, nach denen die Livenesssonde eine Zeitüberschreitung aufweist. Der Standardwert ist 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 Zeichen ('-'z', '0'-'9') und Bindestriche ('-'). Die ersten und letzten Zeichen dürfen keine Bindestriche sein.

Standardwert: None
token_auth_enabled

Gibt an, ob die Tokenauthentifizierung für diesen Webdienst aktiviert werden soll. Wenn dies aktiviert ist, können Benutzer auf diesen Webdienst zugreifen, indem sie Zugriffstoken mithilfe ihrer Azure Active Directory-Anmeldeinformationen abrufen. Der Standardwert ist „FALSE“.

Standardwert: None
cpu_cores_limit

Die maximale Anzahl von CPU-Kernen, die dieser Webdienst verwenden darf. Dies kann eine Dezimalzahl sein.

Standardwert: None
memory_gb_limit

Die maximale Arbeitsspeichermenge (in GB) dieses Webdiensts darf verwendet werden. Dies kann eine Dezimalzahl sein.

Standardwert: None
kwargs
Erforderlich
<xref:varies>

enthalten Params zur Unterstützung der Migration des AKS-Webdiensts zu Kubernetes-Onlineendpunkt und -Bereitstellung. is_migration=True|False, compute_target=<compute target with AzureML extension installed to hostd Kubernetes online endpoint and deployment>.

Ausnahmen

Typ Beschreibung