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
Erforderlich

Das Arbeitsbereichsobjekt, das das abzurufende Webdienstobjekt enthält.

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

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.

azureml.core.webservice.AksWebservice.models
list[Model]

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

properties
dict[str, str]
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

tags
dict[str, str]
Erforderlich

Das Wörterbuch der hinzuzufügenden Tags.

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

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

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

autoscale_max_replicas
int
Standardwert: None

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

autoscale_refresh_seconds
int
Standardwert: None

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

autoscale_target_utilization
int
Standardwert: None

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

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

auth_enabled
bool
Standardwert: None

Gibt an, ob die Schlüsselauthentifizierung für diesen Webdienst aktiviert werden soll. Der Standardwert ist „True“.

cpu_cores
float
Standardwert: None

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

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

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

scoring_timeout_ms
int
Standardwert: None

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

replica_max_concurrent_requests
int
Standardwert: None

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

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

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

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

secondary_key
str
Standardwert: None

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

tags
dict[str, str]
Standardwert: None

Wörterbuch der Schlüsselwerttags für diesen Webdienst

properties
dict[str, str]
Standardwert: None

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.

description
str
Standardwert: None

Eine Beschreibung für diesen Webdienst

gpu_cores
int
Standardwert: None

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

period_seconds
int
Standardwert: None

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

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

timeout_seconds
int
Standardwert: None

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

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

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

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

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

Der Name des Computeziels, in dem die Bereitstellung erfolgen soll

cpu_cores_limit
float
Standardwert: None

Die maximale Anzahl von CPU-Kernen, die von diesem Webdienst verwendet werden dürfen. Kann eine Dezimalzahl sein.

memory_gb_limit
float
Standardwert: None

Die maximale Arbeitsspeichermenge (in GB), die von diesem Webdienst verwendet werden darf. Kann eine Dezimalzahl sein.

blobfuse_enabled
bool
Standardwert: None

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

tags
list[str]
Erforderlich

Die Liste der zu entfernenden Schlüssel.

run

Ruft diesen Webdienst mit der bereitgestellten Eingabe auf.

run(input_data)

Parameter

input_data
<xref:varies>
Erforderlich

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

image
Image
Standardwert: None

Ein neues Image, das im Webdienst bereitgestellt werden soll.

autoscale_enabled
bool
Standardwert: None

Aktivieren oder Deaktivieren der automatischen Skalierung dieses Webdiensts.

autoscale_min_replicas
int
Standardwert: None

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

autoscale_max_replicas
int
Standardwert: None

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

autoscale_refresh_seconds
int
Standardwert: None

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

autoscale_target_utilization
int
Standardwert: None

Die Zielauslastung (in Prozent bis 100), die die Autoskalierung für den Webdienst nach Möglichkeit aufrechterhalten soll.

collect_model_data
bool
Standardwert: None

Die Modelldatensammlung für diesen Webdienst aktivieren oder deaktivieren.

auth_enabled
bool
Standardwert: None

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

cpu_cores
float
Standardwert: None

Die Anzahl von CPU-Kernen, die für diesen Webdienst zugeordnet werden sollen. Dabei kann es sich um eine Dezimalzahl handeln

memory_gb
float
Standardwert: None

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

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

scoring_timeout_ms
int
Standardwert: None

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

replica_max_concurrent_requests
int
Standardwert: None

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

max_request_wait_time
int
Standardwert: None

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

num_replicas
int
Standardwert: None

Die Anzahl von Containern, die für diesen Webdienst zugeordnet werden sollen

tags
dict[str, str]
Standardwert: None

Wörterbuch der Schlüsselwerttags für diesen Webdienst Ersetzt vorhandene Tags.

properties
dict[str, str]
Standardwert: None

Wörterbuch mit Schlüsselwerteigenschaften, die dem vorhandenen Eigenschaftenwörterbuch hinzugefügt werden.

description
str
Standardwert: None

Eine Beschreibung für diesen Webdienst

models
list[Model]
Standardwert: None

Eine Liste der Modellobjekte, die mit dem aktualisierten Dienst gepackt werden sollen.

inference_config
InferenceConfig
Standardwert: None

Ein InferenceConfig-Objekt, das zum Bereitstellen der erforderlichen Eigenschaften zur Modellimplementierung verwendet wird.

gpu_cores
int
Standardwert: None

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

period_seconds
int
Standardwert: None

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

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

timeout_seconds
int
Standardwert: None

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

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

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

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

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

Die maximale Anzahl der CPU-Kerne, die dieser Webdienst verwenden darf. Kann eine Dezimalzahl sein.

memory_gb_limit
float
Standardwert: None

Die maximale Arbeitsspeichermenge (in GB), die von diesem Webdienst verwendet werden darf. Dabei kann es sich um eine Dezimalzahl handeln.

kwargs
<xref:varies>
Erforderlich

Include-Parameter, um die Migration des AKS-Webdiensts zum Kubernetes-Onlineendpunkt und zur Bereitstellung zu unterstützen. is_migration=True|False, compute_target=.

Ausnahmen