共用方式為


AksWebservice 類別

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

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

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

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

初始化 Webservice 實例。

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

建構函式

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)

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

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

  • deploy_from_imageWebservice方法。

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

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

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

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

變數

名稱 Description
enable_app_insights

是否為 Web 服務啟用 AppInsights 記錄。

autoscaler

Webservice 的 Autoscaler 物件。

compute_name
str

Web 服務所部署的 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

是否為 Web 服務啟用令牌驗證。

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

自動調整程式應嘗試針對此 Webservice 維護目標使用率(以百分之 100 的百分比為單位)。 預設值為 70。

預設值: None
collect_model_data

是否要啟用此 Webservice 的模型數據收集。 預設為 False。

預設值: None
auth_enabled

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

預設值: None
cpu_cores

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

預設值: None
memory_gb

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

預設值: None
enable_app_insights

是否要啟用此 Web 服務的 Application Insights 記錄。 預設為 False。

預設值: None
scoring_timeout_ms
int

要強制對這個 Webservice 進行評分呼叫的逾時。 預設值為 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

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

預設值: None
secondary_key
str

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

預設值: None
tags

索引鍵值標記的字典,以提供這個 Webservice。

預設值: None
properties

要提供此 Webservice 的索引鍵值屬性字典。 部署之後就無法變更這些屬性,但是可以新增新的索引鍵值組。

預設值: 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 允許使用此 Web 服務的最大 CPU 核心數目。 可以是十進位。

預設值: None
memory_gb_limit

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

預設值: None
blobfuse_enabled

是否要針對此 Webservice 啟用模型下載的 Blobfuse。 預設值為 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

目標使用率 (超過 100%) 自動調整程式應該嘗試為此 Web 服務維護

預設值: None
collect_model_data

啟用或停用此 Webservice 的模型數據收集

預設值: None
auth_enabled

是否要啟用此 Webservice 的驗證

預設值: None
cpu_cores

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

預設值: None
memory_gb

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

預設值: None
enable_app_insights

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

預設值: None
scoring_timeout_ms
int

強制對這個 Webservice 進行評分呼叫的逾時

預設值: None
replica_max_concurrent_requests
int

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

預設值: None
max_request_wait_time
int

要求在傳回 503 錯誤之前,要求在佇列中停留的時間上限 (以毫秒為單位)

預設值: None
num_replicas
int

要配置給此 Webservice 的容器數目

預設值: None
tags

索引鍵值標記的字典,以提供這個 Webservice。 將會取代現有的標籤。

預設值: 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 允許使用此 Web 服務的最大 CPU 核心數目。 可以是十進位。

預設值: None
memory_gb_limit

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

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

包含參數,可支援將 AKS Web 服務遷移至 Kubernetes 在線端點和部署。 is_migration=True|False, compute_target=<compute target with AzureML extension installed to hosted Kubernetes online endpoint and deployment>.

例外狀況

類型 Description