共用方式為


AksWebservice 類別

表示部署為 Azure Kubernetes Service 上 Web 服務端點的機器學習模型。

已部署的服務是從模型、腳本和相關聯的檔案建立的。 產生的 Web 服務是具有 REST API 的負載平衡 HTTP 端點。 您可以將資料傳送至此 API 並接收模型傳回的預測。

AksWebservice 會將單一服務部署到一個端點。 若要將多個服務部署到一個端點,請使用 AksEndpoint 類別。

如需詳細資訊,請參閱將模型部署至Azure Kubernetes Service叢集

初始化 Webservice 實例。

Webservice 建構函式會擷取與所提供工作區相關聯之 Webservice 物件的雲端標記法。 它會傳回對應至所擷取之 Webservice 物件之特定類型的子類別實例。

繼承
AksWebservice

建構函式

AksWebservice(workspace, name)

參數

名稱 Description
workspace
必要

包含要擷取之 Webservice 物件的工作區物件。

name
必要
str

要擷取之 Webservice 物件的 名稱。

備註

建議的部署模式是使用 deploy_configuration 方法建立部署組態物件,然後將它與 deploy 類別的 Model 方法搭配使用,如下所示。


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

完整範例可從 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

有數種方式可將模型部署為 Web 服務,包括:

  • deploy Model已在工作區中註冊之模型的 方法。

  • deploy_from_imageWebservice 方法。

  • deploy_from_model 已在 Webservice 工作區中註冊之模型的 方法。 這個方法會建立映射。

  • deployWebservice 方法,它會註冊模型並建立映射。

如需使用 Web 服務的資訊,請參閱

[變數] 區段會列出雲端 AksWebservice 物件的本機標記法屬性。 這些變數應該視為唯讀。 變更其值不會反映在對應的雲端物件中。

變數

名稱 Description
enable_app_insights

是否已啟用 Webservice 的 AppInsights 記錄。

autoscaler

Webservice 的 Autoscaler 物件。

compute_name
str

Webservice 所部署的 ComputeTarget 名稱。

container_resource_requirements

Webservice 的容器資源需求。

liveness_probe_requirements

Webservice 的即時探查需求。

data_collection

Webservice 的 DataCollection 物件。

max_concurrent_requests_per_container
int

Webservice 每個容器的並行要求數目上限。

max_request_wait_time
int

Webservice 的要求等候時間上限,以毫秒為單位。

num_replicas
int

Webservice 的複本數目。 每個複本都會對應至 AKS Pod。

scoring_timeout_ms
int

Webservice 的評分逾時,以毫秒為單位。

azureml.core.webservice.AksWebservice.scoring_uri
str

Webservice 的評分端點

is_default

如果 Webservice 是父 AksEndpoint 的預設版本。

traffic_percentile
int

在父 AksEndpoint 中路由傳送至 Webservice 的流量百分比。

version_type

父 AksEndpoint 中 Webservice 的版本類型。

token_auth_enabled

是否已啟用 Webservice 的權杖驗證。

environment

用來建立 Webservice 的環境物件。

azureml.core.webservice.AksWebservice.models

部署至 Webservice 的模型清單。

deployment_status
str

Webservice 的部署狀態。

namespace
str

Webservice 的 AKS 命名空間。

azureml.core.webservice.AksWebservice.swagger_uri
str

Webservice 的 swagger 端點。

方法

add_properties

將索引鍵值組新增至此 Webservice 的屬性字典。

add_tags

將索引鍵值組新增至此 Webservice 的標籤字典。

WebserviceException引發 。

deploy_configuration

建立組態物件以部署至 AKS 計算目標。

get_access_token

擷取此 Webservice 的驗證權杖。

get_token

已淘汰。 請改用 get_access_token 方法。

擷取此 Webservice 的驗證權杖。

remove_tags

從此 Webservice 的標記字典中移除指定的索引鍵。

run

使用提供的輸入呼叫此 Webservice。

serialize

將此 Webservice 轉換成 JSON 序列化字典。

update

使用提供的屬性更新 Webservice。

保留為 None 的值將會在此 Webservice 中保持不變。

add_properties

將索引鍵值組新增至此 Webservice 的屬性字典。

add_properties(properties)

參數

名稱 Description
properties
必要

要加入的屬性字典。

add_tags

將索引鍵值組新增至此 Webservice 的標籤字典。

WebserviceException引發 。

add_tags(tags)

參數

名稱 Description
tags
必要

要加入之標籤的字典。

例外狀況

類型 Description

deploy_configuration

建立組態物件以部署至 AKS 計算目標。

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)

參數

名稱 Description
autoscale_enabled

是否要啟用此 Web 服務的自動調整。 如果num_replicas為 None,則預設值為 True。

預設值: None
autoscale_min_replicas
int

自動調整此 Web 服務時要使用的容器數目下限。 預設值為 1。

預設值: None
autoscale_max_replicas
int

自動調整此 Web 服務時要使用的容器數目上限。 預設值為 10。

預設值: None
autoscale_refresh_seconds
int

自動調整程式應該嘗試調整此 Web 服務的頻率。 預設值為 1。

預設值: None
autoscale_target_utilization
int

自動調整程式應該嘗試維護此 Web 服務的目標使用率 (百分比為 100) 。 預設值為 70。

預設值: None
collect_model_data

是否要為此 Webservice 啟用模型資料收集。 預設為 False。

預設值: None
auth_enabled

是否要啟用此 Web 服務的金鑰驗證。 預設值為 True。

預設值: None
cpu_cores

要配置給這個 Webservice 的 CPU 核心數目。 可以是十進位。 預設值為 0.1。 對應至 pod 核心要求,而不是Azure Kubernetes Service的限制。

預設值: None
memory_gb

要配置給此 Webservice) GB 的記憶體 (數量。 可以是十進位。 預設為 0.5。 對應至 pod 記憶體要求,而不是Azure Kubernetes Service的限制。

預設值: None
enable_app_insights

是否要為此 Webservice 啟用 Application Insights 記錄。 預設為 False。

預設值: None
scoring_timeout_ms
int

強制對此 Web 服務進行評分呼叫的逾時。 預設值為 60000。

預設值: None
replica_max_concurrent_requests
int

每個複本允許此 Webservice 的最大並行要求數目。 預設值為 1。 除非 Microsoft 技術支援或 Azure Machine Learning 小組的成員指示,否則請勿從預設值 1 變更此設定。

預設值: None
max_request_wait_time
int

要求在傳回 503 錯誤之前,要求會停留在佇列 (以毫秒為單位) 的最大時間量。 預設值為 500。

預設值: None
num_replicas
int

要配置給這個 Webservice 的容器數目。 沒有預設值,如果未設定此參數,則預設會啟用自動調整程式。

預設值: None
primary_key
str

要用於此 Web 服務的主要驗證金鑰。

預設值: None
secondary_key
str

要用於此 Webservice 的次要驗證金鑰。

預設值: None
tags

索引鍵值標籤的字典,以提供此 Web 服務。

預設值: None
properties

索引鍵值屬性的字典,以提供此 Web 服務。 部署之後無法變更這些屬性,不過可以新增新的索引鍵值組。

預設值: None
description
str

提供此 Webservice 的描述。

預設值: None
gpu_cores
int

要配置給此 Webservice 的 GPU 核心數目。 預設為 0。

預設值: None
period_seconds
int

執行活躍度探查的頻率 (以秒為單位)。 預設值為 10 秒。 最小值為 1。

預設值: None
initial_delay_seconds
int

啟動容器之後的秒數,才會起始活躍度探查。 預設值為 310。

預設值: None
timeout_seconds
int

存留時間探查逾時的秒數。預設值為 2 秒。 最小值為 1。

預設值: None
success_threshold
int

在失敗之後,將活躍度探查視為成功的最小連續成功。 預設值為 1。 最小值為 1。

預設值: None
failure_threshold
int

當 Pod 啟動且活躍度探查失敗時,Kubernetes 會在放棄之前先嘗試使用 failureThreshold 時間。 預設值為 3。 最小值為 1。

預設值: None
namespace
str

要在其中部署此 Webservice 的 Kubernetes 命名空間:最多 63 個小寫英數位元 ('a'-'z'、'0'-'9') 和連字號 ('-') 字元。 第一個字元和最後一個字元不能是連字號。

預設值: None
token_auth_enabled

是否要為此 Web 服務啟用權杖驗證。 如果啟用此功能,使用者可以使用其 Azure Active Directory 認證來擷取存取權杖,以存取此 Web 服務。 預設為 False。

預設值: None
compute_target_name
str

要部署的目標計算目標名稱

預設值: None
cpu_cores_limit

允許此 Webservice 使用的 CPU 核心數目上限。 可以是十進位。

預設值: None
memory_gb_limit

允許使用此 Web 服務) 以 GB 為單位的最大記憶體 (量。 可以是十進位。

預設值: None
blobfuse_enabled

是否要啟用 Blobfuse 以下載此 Webservice 的模型。 預設為 True

預設值: None

傳回

類型 Description

部署 AksWebservice 時要使用的組態物件。

例外狀況

類型 Description

get_access_token

擷取此 Webservice 的驗證權杖。

get_access_token()

傳回

類型 Description

物件,描述此 Webservice 的驗證權杖。

例外狀況

類型 Description

get_token

已淘汰。 請改用 get_access_token 方法。

擷取此 Webservice 的驗證權杖。

get_token()

傳回

類型 Description

此 Webservice 的驗證權杖,以及重新整理的時機。

例外狀況

類型 Description

remove_tags

從此 Webservice 的標記字典中移除指定的索引鍵。

remove_tags(tags)

參數

名稱 Description
tags
必要

要移除的索引鍵清單

run

使用提供的輸入呼叫此 Webservice。

run(input_data)

參數

名稱 Description
input_data
必要
<xref:varies>

用來呼叫 Webservice 的輸入

傳回

類型 Description

呼叫 Webservice 的結果

例外狀況

類型 Description

serialize

將此 Webservice 轉換成 JSON 序列化字典。

serialize()

傳回

類型 Description

這個 Webservice 的 JSON 標記法。

update

使用提供的屬性更新 Webservice。

保留為 None 的值將會在此 Webservice 中保持不變。

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)

參數

名稱 Description
image

要部署至 Webservice 的新映射

預設值: None
autoscale_enabled

啟用或停用此 Web 服務的自動調整

預設值: None
autoscale_min_replicas
int

自動調整此 Web 服務時要使用的容器數目下限

預設值: None
autoscale_max_replicas
int

自動調整此 Web 服務時要使用的容器數目上限

預設值: None
autoscale_refresh_seconds
int

自動調整程式應該嘗試調整此 Web 服務的頻率

預設值: None
autoscale_target_utilization
int

自動調整程式應該嘗試維護此 Web 服務的目標使用率 (百分比為 100)

預設值: None
collect_model_data

啟用或停用此 Webservice 的模型資料收集

預設值: None
auth_enabled

是否要啟用此 Web 服務的驗證

預設值: None
cpu_cores

要配置給這個 Webservice 的 CPU 核心數目。 可以是十進位

預設值: None
memory_gb

要配置給此 Webservice) GB 的記憶體 (數量。 可以是十進位

預設值: None
enable_app_insights

是否要為此 Web 服務啟用 Application Insights 記錄

預設值: None
scoring_timeout_ms
int

強制對此 Web 服務進行評分呼叫的逾時

預設值: None
replica_max_concurrent_requests
int

每個複本允許此 Webservice 的最大並行要求數目。

預設值: None
max_request_wait_time
int

要求在傳回 503 錯誤之前,要求會停留在佇列 (以毫秒為單位) 的最大時間量

預設值: None
num_replicas
int

要配置給此 Webservice 的容器數目

預設值: None
tags

索引鍵值標籤的字典,以提供此 Web 服務。 將會取代現有的標籤。

預設值: None
properties

要加入至現有屬性字典的索引鍵值屬性字典

預設值: None
description
str

提供此 Webservice 的描述

預設值: None
models

要與更新服務一起封裝的 Model 物件清單

預設值: None
inference_config

InferenceConfig 物件,用來提供所需的模型部署屬性。

預設值: None
gpu_cores
int

要配置給此 Webservice 的 GPU 核心數目

預設值: None
period_seconds
int

執行活躍度探查的頻率 (以秒為單位)。 預設值為 10 秒。 最小值為 1。

預設值: None
initial_delay_seconds
int

在起始活躍度探查之前,容器啟動後的秒數。

預設值: None
timeout_seconds
int

存留時間探查逾時的秒數。預設為 1 秒。 最小值為 1。

預設值: None
success_threshold
int

失敗之後,會將活躍度探查的最小連續成功次數視為成功。 預設值為 1。 最小值為 1。

預設值: None
failure_threshold
int

當 Pod 啟動且活躍度探查失敗時,Kubernetes 會在放棄之前先嘗試使用 failureThreshold 時間。 預設值為 3。 最小值為 1。

預設值: None
namespace
str

要在其中部署此 Webservice 的 Kubernetes 命名空間:最多 63 個小寫英數位元 ('a'-'z'、'0'-'9') 和連字號 ('-') 字元。 第一個字元和最後一個字元不能是連字號。

預設值: None
token_auth_enabled

是否要為此 Web 服務啟用權杖驗證。 如果啟用此功能,使用者可以使用其 Azure Active Directory 認證來擷取存取權杖,以存取此 Web 服務。 預設為 False

預設值: None
cpu_cores_limit

允許此 Webservice 使用的 CPU 核心數目上限。 可以是十進位。

預設值: None
memory_gb_limit

允許使用此 Web 服務) 以 GB 為單位的最大記憶體 (量。 可以是十進位。

預設值: None
kwargs
必要
<xref:varies>

包含支援將 AKS Web 服務移轉至 Kubernetes 線上端點和部署的參數。 is_migration=True|False,compute_target=。

例外狀況

類型 Description