AksWebservice Classe
Rappresenta un modello di Machine Learning distribuito come endpoint servizio Web nel servizio Azure Kubernetes.
Un servizio distribuito viene creato da un modello, uno script e i file associati. Il servizio Web risultante è un endpoint HTTP con carico bilanciato con un'API REST. È possibile inviare dati a questa API e ricevere la stima restituita dal modello.
AksWebservice distribuisce un singolo servizio in un endpoint. Per distribuire più servizi in un endpoint, usare la AksEndpoint classe .
Per altre informazioni, vedere Distribuire un modello in un cluster del servizio Azure Kubernetes.
Inizializzare l'istanza del servizio Web.
Il costruttore webservice recupera una rappresentazione cloud di un oggetto Servizio Web associato all'area di lavoro specificata. Restituisce un'istanza di una classe figlio corrispondente al tipo specifico dell'oggetto Webservice recuperato.
Costruttore
AksWebservice(workspace, name)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto workspace contenente l'oggetto Webservice da recuperare. |
|
name
Necessario
|
Nome dell'oggetto Webservice da recuperare. |
Commenti
Il modello di distribuzione consigliato consiste nel creare un oggetto di configurazione della distribuzione con il deploy_configuration metodo e quindi usarlo con il deploy metodo della Model classe, come illustrato di seguito.
# 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)
Esistono diversi modi per distribuire un modello come servizio Web, tra cui:
deploymetodo di Model per i modelli già registrati nell'area di lavoro.deploy_from_imagemetodo di Webservice.deploy_from_modelmetodo di Webservice per i modelli già registrati nell'area di lavoro. Questo metodo creerà un'immagine.deploymetodo di Webservice, che registrerà un modello e creerà un'immagine.
Per informazioni sull'uso dei servizi Web, vedere
Utilizzare un modello di Azure Machine Learning distribuito come servizio Web
Monitorare e raccogliere dati da endpoint servizio Web di ML
La sezione Variables elenca gli attributi di una rappresentazione locale dell'oggetto cloud AksWebservice. Queste variabili devono essere considerate di sola lettura. La modifica dei valori non verrà riflessa nell'oggetto cloud corrispondente.
Variabili
| Nome | Descrizione |
|---|---|
|
enable_app_insights
|
Indica se la registrazione di AppInsights è abilitata per il servizio Web. |
|
autoscaler
|
Oggetto Autoscaler per il servizio Web. |
|
compute_name
|
Nome dell'oggetto ComputeTarget in cui viene distribuito il servizio Web. |
|
container_resource_requirements
|
Requisiti delle risorse del contenitore per il servizio Web. |
|
liveness_probe_requirements
|
Requisiti del probe di attività per il servizio Web. |
|
data_collection
|
Oggetto DataCollection per il servizio Web. |
|
max_concurrent_requests_per_container
|
Numero massimo di richieste simultanee per contenitore per il servizio Web. |
|
max_request_wait_time
|
Tempo di attesa massimo della richiesta per il servizio Web, espresso in millisecondi. |
|
num_replicas
|
Numero di repliche per il servizio Web. Ogni replica corrisponde a un pod del servizio Azure Kubernetes. |
|
scoring_timeout_ms
|
Timeout di assegnazione dei punteggi per il servizio Web, espresso in millisecondi. |
|
azureml.core.webservice.AksWebservice.scoring_uri
|
Endpoint di assegnazione dei punteggi per il servizio Web |
|
is_default
|
Se il servizio Web è la versione predefinita per il servizio Azure KubernetesEndpoint padre. |
|
traffic_percentile
|
Percentuale di traffico da instradare al servizio Web nel servizio Azure KubernetesEndpoint padre. |
|
version_type
|
Tipo di versione per il servizio Web nell'oggetto AksEndpoint padre. |
|
token_auth_enabled
|
Indica se l'autenticazione token è abilitata o meno per il servizio Web. |
|
environment
|
Oggetto Environment utilizzato per creare il servizio Web. |
|
azureml.core.webservice.AksWebservice.models
|
Elenco di modelli distribuiti nel servizio Web. |
|
deployment_status
|
Stato della distribuzione del servizio Web. |
|
namespace
|
Spazio dei nomi del servizio Azure Kubernetes del servizio Web. |
|
azureml.core.webservice.AksWebservice.swagger_uri
|
Endpoint swagger per il servizio Web. |
Metodi
| add_properties |
Aggiungere coppie chiave-valore al dizionario delle proprietà del servizio Web. |
| add_tags |
Aggiungere coppie chiave-valore al dizionario tag di questo servizio Web. Genera un oggetto WebserviceException. |
| deploy_configuration |
Creare un oggetto di configurazione per la distribuzione in una destinazione di calcolo del servizio Azure Kubernetes. |
| get_access_token |
Recuperare il token di autenticazione per questo servizio Web. |
| get_token |
DEPRECATO. Usare Recuperare il token di autenticazione per questo servizio Web. |
| remove_tags |
Rimuovere le chiavi specificate dal dizionario dei tag di questo servizio Web. |
| run |
Chiamare questo servizio Web con l'input fornito. |
| serialize |
Convertire questo servizio Web in un dizionario serializzato JSON. |
| update |
Aggiornare il servizio Web con le proprietà specificate. I valori lasciati come Nessuno rimarranno invariati in questo servizio Web. |
add_properties
add_tags
Aggiungere coppie chiave-valore al dizionario tag di questo servizio Web.
Genera un oggetto WebserviceException.
add_tags(tags)
Parametri
| Nome | Descrizione |
|---|---|
|
tags
Necessario
|
Dizionario dei tag da aggiungere. |
Eccezioni
| Tipo | Descrizione |
|---|---|
deploy_configuration
Creare un oggetto di configurazione per la distribuzione in una destinazione di calcolo del servizio Azure Kubernetes.
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)
Parametri
| Nome | Descrizione |
|---|---|
|
autoscale_enabled
|
Indica se abilitare o meno la scalabilità automatica per questo servizio Web. L'impostazione predefinita è True se num_replicas è Nessuno. Valore predefinito: None
|
|
autoscale_min_replicas
|
Numero minimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Il valore predefinito è 1. Valore predefinito: None
|
|
autoscale_max_replicas
|
Numero massimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Il valore predefinito è 10. Valore predefinito: None
|
|
autoscale_refresh_seconds
|
Frequenza con cui il ridimensionamento automatico deve tentare di ridimensionare questo servizio Web. Il valore predefinito è 1. Valore predefinito: None
|
|
autoscale_target_utilization
|
L'utilizzo di destinazione (in percentuale su 100) del ridimensionamento automatico deve tentare di mantenere per questo servizio Web. Il valore predefinito è 70. Valore predefinito: None
|
|
collect_model_data
|
Indica se abilitare o meno la raccolta dei dati del modello per questo servizio Web. Il valore predefinito è False. Valore predefinito: None
|
|
auth_enabled
|
Indica se abilitare o meno l'autenticazione della chiave per questo servizio Web. Il valore predefinito è True. Valore predefinito: None
|
|
cpu_cores
|
Numero di core cpu da allocare per questo servizio Web. Può essere un decimale. Il valore predefinito è 0.1. Corrisponde alla richiesta di base del pod, non al limite, nel servizio Azure Kubernetes. Valore predefinito: None
|
|
memory_gb
|
Quantità di memoria (in GB) da allocare per questo servizio Web. Può essere un decimale. Il valore predefinito è 0,5. Corrisponde alla richiesta di memoria del pod, non al limite, nel servizio Azure Kubernetes. Valore predefinito: None
|
|
enable_app_insights
|
Indica se abilitare o meno la registrazione di Application Insights per questo servizio Web. Il valore predefinito è False. Valore predefinito: None
|
|
scoring_timeout_ms
|
Timeout da applicare per l'assegnazione dei punteggi alle chiamate a questo servizio Web. Il valore predefinito è 60000. Valore predefinito: None
|
|
replica_max_concurrent_requests
|
Numero massimo di richieste simultanee per replica da consentire per questo servizio Web. Il valore predefinito è 1. Non modificare questa impostazione dal valore predefinito 1 a meno che non venga richiesto dal supporto tecnico Microsoft o da un membro del team di Azure Machine Learning. Valore predefinito: None
|
|
max_request_wait_time
|
La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503. Il valore predefinito è 500. Valore predefinito: None
|
|
num_replicas
|
Numero di contenitori da allocare per questo servizio Web. Nessun valore predefinito, se questo parametro non è impostato, l'utilità di scalabilità automatica è abilitata per impostazione predefinita. Valore predefinito: None
|
|
primary_key
|
Chiave di autenticazione primaria da usare per questo servizio Web. Valore predefinito: None
|
|
secondary_key
|
Chiave di autenticazione secondaria da usare per questo servizio Web. Valore predefinito: None
|
|
tags
|
Dizionario di tag chiave-valore per assegnare questo servizio Web. Valore predefinito: None
|
|
properties
|
Dizionario delle proprietà chiave-valore per assegnare questo servizio Web. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie chiave-valore. Valore predefinito: None
|
|
description
|
Descrizione da assegnare a questo servizio Web. Valore predefinito: None
|
|
gpu_cores
|
Numero di core GPU da allocare per questo servizio Web. Il valore predefinito è 0. Valore predefinito: None
|
|
period_seconds
|
La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1. Valore predefinito: None
|
|
initial_delay_seconds
|
Numero di secondi dopo l'avvio del contenitore prima dell'avvio dei probe di attività. Il valore predefinito è 310. Valore predefinito: None
|
|
timeout_seconds
|
Numero di secondi dopo il quale si verifica il timeout del probe di attività. Il valore predefinito è 2 secondi. Il valore minimo è 1. Valore predefinito: None
|
|
success_threshold
|
I successi consecutivi minimi per il probe di attività devono essere considerati riusciti dopo aver avuto esito negativo. Il valore predefinito è 1. Il valore minimo è 1. Valore predefinito: None
|
|
failure_threshold
|
Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1. Valore predefinito: None
|
|
namespace
|
Spazio dei nomi Kubernetes in cui distribuire questo servizio Web: fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattino ('-'). Il primo e l'ultimo carattere non possono essere trattini. Valore predefinito: None
|
|
token_auth_enabled
|
Indica se abilitare o meno l'autenticazione token per questo servizio Web. Se questa opzione è abilitata, gli utenti possono accedere a questo servizio Web recuperando un token di accesso usando le credenziali di Azure Active Directory. Il valore predefinito è False. Valore predefinito: None
|
|
compute_target_name
|
Nome della destinazione di calcolo in cui eseguire la distribuzione Valore predefinito: None
|
|
cpu_cores_limit
|
È consentito usare il numero massimo di core cpu per questo servizio Web. Può essere un decimale. Valore predefinito: None
|
|
memory_gb_limit
|
La quantità massima di memoria (in GB) consentita per questo servizio Web. Può essere un decimale. Valore predefinito: None
|
|
blobfuse_enabled
|
Indica se abilitare o meno blobfuse per il download del modello per questo servizio Web. Il valore predefinito è True Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto di configurazione da usare per la distribuzione di un servizio Azure KubernetesWeb. |
Eccezioni
| Tipo | Descrizione |
|---|---|
get_access_token
Recuperare il token di autenticazione per questo servizio Web.
get_access_token()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto che descrive il token di autenticazione per questo servizio Web. |
Eccezioni
| Tipo | Descrizione |
|---|---|
get_token
DEPRECATO. Usare get_access_token invece il metodo .
Recuperare il token di autenticazione per questo servizio Web.
get_token()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Token di autenticazione per questo servizio Web e quando aggiornarlo. |
Eccezioni
| Tipo | Descrizione |
|---|---|
remove_tags
run
Chiamare questo servizio Web con l'input fornito.
run(input_data)
Parametri
| Nome | Descrizione |
|---|---|
|
input_data
Necessario
|
<xref:varies>
Input con cui chiamare il servizio Web |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Risultato della chiamata al servizio Web |
Eccezioni
| Tipo | Descrizione |
|---|---|
serialize
Convertire questo servizio Web in un dizionario serializzato JSON.
serialize()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Rappresentazione JSON di questo servizio Web. |
update
Aggiornare il servizio Web con le proprietà specificate.
I valori lasciati come Nessuno rimarranno invariati in questo servizio Web.
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)
Parametri
| Nome | Descrizione |
|---|---|
|
image
|
Nuova immagine da distribuire nel servizio Web Valore predefinito: None
|
|
autoscale_enabled
|
Abilitare o disabilitare la scalabilità automatica di questo servizio Web Valore predefinito: None
|
|
autoscale_min_replicas
|
Numero minimo di contenitori da usare per la scalabilità automatica di questo servizio Web Valore predefinito: None
|
|
autoscale_max_replicas
|
Numero massimo di contenitori da usare per la scalabilità automatica di questo servizio Web Valore predefinito: None
|
|
autoscale_refresh_seconds
|
Frequenza con cui il ridimensionamento automatico deve tentare di ridimensionare questo servizio Web Valore predefinito: None
|
|
autoscale_target_utilization
|
L'utilizzo della destinazione (in percentuale su 100) che il ridimensionamento automatico deve tentare di gestire per questo servizio Web Valore predefinito: None
|
|
collect_model_data
|
Abilitare o disabilitare la raccolta dei dati del modello per questo servizio Web Valore predefinito: None
|
|
auth_enabled
|
Indica se abilitare o meno l'autenticazione per questo servizio Web Valore predefinito: None
|
|
cpu_cores
|
Numero di core cpu da allocare per questo servizio Web. Può essere un separatore decimale Valore predefinito: None
|
|
memory_gb
|
Quantità di memoria (in GB) da allocare per questo servizio Web. Può essere un separatore decimale Valore predefinito: None
|
|
enable_app_insights
|
Indica se abilitare o meno la registrazione di Application Insights per questo servizio Web Valore predefinito: None
|
|
scoring_timeout_ms
|
Timeout da applicare per l'assegnazione dei punteggi alle chiamate a questo servizio Web Valore predefinito: None
|
|
replica_max_concurrent_requests
|
Numero massimo di richieste simultanee per replica da consentire per questo servizio Web. Valore predefinito: None
|
|
max_request_wait_time
|
La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503 Valore predefinito: None
|
|
num_replicas
|
Numero di contenitori da allocare per questo servizio Web Valore predefinito: None
|
|
tags
|
Dizionario di tag chiave-valore per assegnare questo servizio Web. Sostituirà i tag esistenti. Valore predefinito: None
|
|
properties
|
Dizionario delle proprietà chiave-valore da aggiungere al dizionario delle proprietà esistenti Valore predefinito: None
|
|
description
|
Descrizione da assegnare a questo servizio Web Valore predefinito: None
|
|
models
|
Elenco di oggetti Model da creare in un pacchetto con il servizio aggiornato Valore predefinito: None
|
|
inference_config
|
Oggetto InferenceConfig utilizzato per fornire le proprietà di distribuzione del modello necessarie. Valore predefinito: None
|
|
gpu_cores
|
Numero di core gpu da allocare per questo servizio Web Valore predefinito: None
|
|
period_seconds
|
La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1. Valore predefinito: None
|
|
initial_delay_seconds
|
Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Valore predefinito: None
|
|
timeout_seconds
|
Numero di secondi dopo il quale si verifica il timeout del probe di attività. Il valore predefinito è 1 secondo. Il valore minimo è 1. Valore predefinito: None
|
|
success_threshold
|
Il numero minimo di successi consecutivi perché il probe di attività venga considerato riuscito dopo un errore. Il valore predefinito è 1. Il valore minimo è 1. Valore predefinito: None
|
|
failure_threshold
|
Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1. Valore predefinito: None
|
|
namespace
|
Spazio dei nomi Kubernetes in cui distribuire questo servizio Web: fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattino ('-'). Il primo e l'ultimo carattere non possono essere trattini. Valore predefinito: None
|
|
token_auth_enabled
|
Indica se abilitare o meno l'autenticazione token per questo servizio Web. Se questa opzione è abilitata, gli utenti possono accedere a questo servizio Web recuperando il token di accesso usando le credenziali di Azure Active Directory. Il valore predefinito è False Valore predefinito: None
|
|
cpu_cores_limit
|
È consentito usare il numero massimo di core cpu per questo servizio Web. Può essere un decimale. Valore predefinito: None
|
|
memory_gb_limit
|
La quantità massima di memoria (in GB) consentita per questo servizio Web. Può essere un decimale. Valore predefinito: None
|
|
kwargs
Necessario
|
<xref:varies>
includere i parametri per supportare la migrazione del servizio Web del servizio Azure Kubernetes all'endpoint online e alla distribuzione di Kubernetes. is_migration=True|False, compute_target=destinazione di< calcolo con l'estensione AzureML installata per ospitare l'endpoint online e la distribuzione> di Kubernetes migrati. |
Eccezioni
| Tipo | Descrizione |
|---|---|