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
必要
|
要擷取之 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_image
的 Webservice 方法。deploy_from_model
已在 Webservice 工作區中註冊之模型的 方法。 這個方法會建立映射。deploy
的 Webservice 方法,它會註冊模型並建立映射。
如需使用 Web 服務的資訊,請參閱
[變數] 區段會列出雲端 AksWebservice 物件的本機標記法屬性。 這些變數應該視為唯讀。 變更其值不會反映在對應的雲端物件中。
變數
名稱 | Description |
---|---|
enable_app_insights
|
是否已啟用 Webservice 的 AppInsights 記錄。 |
autoscaler
|
Webservice 的 Autoscaler 物件。 |
compute_name
|
Webservice 所部署的 ComputeTarget 名稱。 |
container_resource_requirements
|
Webservice 的容器資源需求。 |
liveness_probe_requirements
|
Webservice 的即時探查需求。 |
data_collection
|
Webservice 的 DataCollection 物件。 |
max_concurrent_requests_per_container
|
Webservice 每個容器的並行要求數目上限。 |
max_request_wait_time
|
Webservice 的要求等候時間上限,以毫秒為單位。 |
num_replicas
|
Webservice 的複本數目。 每個複本都會對應至 AKS Pod。 |
scoring_timeout_ms
|
Webservice 的評分逾時,以毫秒為單位。 |
azureml.core.webservice.AksWebservice.scoring_uri
|
Webservice 的評分端點 |
is_default
|
如果 Webservice 是父 AksEndpoint 的預設版本。 |
traffic_percentile
|
在父 AksEndpoint 中路由傳送至 Webservice 的流量百分比。 |
version_type
|
父 AksEndpoint 中 Webservice 的版本類型。 |
token_auth_enabled
|
是否已啟用 Webservice 的權杖驗證。 |
environment
|
用來建立 Webservice 的環境物件。 |
azureml.core.webservice.AksWebservice.models
|
部署至 Webservice 的模型清單。 |
deployment_status
|
Webservice 的部署狀態。 |
namespace
|
Webservice 的 AKS 命名空間。 |
azureml.core.webservice.AksWebservice.swagger_uri
|
Webservice 的 swagger 端點。 |
方法
add_properties |
將索引鍵值組新增至此 Webservice 的屬性字典。 |
add_tags |
將索引鍵值組新增至此 Webservice 的標籤字典。 |
deploy_configuration |
建立組態物件以部署至 AKS 計算目標。 |
get_access_token |
擷取此 Webservice 的驗證權杖。 |
get_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 的標籤字典。
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
|
自動調整此 Web 服務時要使用的容器數目下限。 預設值為 1。 預設值: None
|
autoscale_max_replicas
|
自動調整此 Web 服務時要使用的容器數目上限。 預設值為 10。 預設值: None
|
autoscale_refresh_seconds
|
自動調整程式應該嘗試調整此 Web 服務的頻率。 預設值為 1。 預設值: None
|
autoscale_target_utilization
|
自動調整程式應該嘗試維護此 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
|
強制對此 Web 服務進行評分呼叫的逾時。 預設值為 60000。 預設值: None
|
replica_max_concurrent_requests
|
每個複本允許此 Webservice 的最大並行要求數目。 預設值為 1。 除非 Microsoft 技術支援或 Azure Machine Learning 小組的成員指示,否則請勿從預設值 1 變更此設定。 預設值: None
|
max_request_wait_time
|
要求在傳回 503 錯誤之前,要求會停留在佇列 (以毫秒為單位) 的最大時間量。 預設值為 500。 預設值: None
|
num_replicas
|
要配置給這個 Webservice 的容器數目。 沒有預設值,如果未設定此參數,則預設會啟用自動調整程式。 預設值: None
|
primary_key
|
要用於此 Web 服務的主要驗證金鑰。 預設值: None
|
secondary_key
|
要用於此 Webservice 的次要驗證金鑰。 預設值: None
|
tags
|
索引鍵值標籤的字典,以提供此 Web 服務。 預設值: None
|
properties
|
索引鍵值屬性的字典,以提供此 Web 服務。 部署之後無法變更這些屬性,不過可以新增新的索引鍵值組。 預設值: None
|
description
|
提供此 Webservice 的描述。 預設值: None
|
gpu_cores
|
要配置給此 Webservice 的 GPU 核心數目。 預設為 0。 預設值: None
|
period_seconds
|
執行活躍度探查的頻率 (以秒為單位)。 預設值為 10 秒。 最小值為 1。 預設值: None
|
initial_delay_seconds
|
啟動容器之後的秒數,才會起始活躍度探查。 預設值為 310。 預設值: None
|
timeout_seconds
|
存留時間探查逾時的秒數。預設值為 2 秒。 最小值為 1。 預設值: None
|
success_threshold
|
在失敗之後,將活躍度探查視為成功的最小連續成功。 預設值為 1。 最小值為 1。 預設值: None
|
failure_threshold
|
當 Pod 啟動且活躍度探查失敗時,Kubernetes 會在放棄之前先嘗試使用 failureThreshold 時間。 預設值為 3。 最小值為 1。 預設值: None
|
namespace
|
要在其中部署此 Webservice 的 Kubernetes 命名空間:最多 63 個小寫英數位元 ('a'-'z'、'0'-'9') 和連字號 ('-') 字元。 第一個字元和最後一個字元不能是連字號。 預設值: None
|
token_auth_enabled
|
是否要為此 Web 服務啟用權杖驗證。 如果啟用此功能,使用者可以使用其 Azure Active Directory 認證來擷取存取權杖,以存取此 Web 服務。 預設為 False。 預設值: None
|
compute_target_name
|
要部署的目標計算目標名稱 預設值: 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
run
使用提供的輸入呼叫此 Webservice。
run(input_data)
參數
名稱 | Description |
---|---|
input_data
必要
|
<xref:varies>
用來呼叫 Webservice 的輸入 |
傳回
類型 | Description |
---|---|
呼叫 Webservice 的結果 |
例外狀況
類型 | Description |
---|---|
serialize
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
|
自動調整此 Web 服務時要使用的容器數目下限 預設值: None
|
autoscale_max_replicas
|
自動調整此 Web 服務時要使用的容器數目上限 預設值: None
|
autoscale_refresh_seconds
|
自動調整程式應該嘗試調整此 Web 服務的頻率 預設值: None
|
autoscale_target_utilization
|
自動調整程式應該嘗試維護此 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
|
強制對此 Web 服務進行評分呼叫的逾時 預設值: None
|
replica_max_concurrent_requests
|
每個複本允許此 Webservice 的最大並行要求數目。 預設值: None
|
max_request_wait_time
|
要求在傳回 503 錯誤之前,要求會停留在佇列 (以毫秒為單位) 的最大時間量 預設值: None
|
num_replicas
|
要配置給此 Webservice 的容器數目 預設值: None
|
tags
|
索引鍵值標籤的字典,以提供此 Web 服務。 將會取代現有的標籤。 預設值: None
|
properties
|
要加入至現有屬性字典的索引鍵值屬性字典 預設值: None
|
description
|
提供此 Webservice 的描述 預設值: None
|
models
|
要與更新服務一起封裝的 Model 物件清單 預設值: None
|
inference_config
|
InferenceConfig 物件,用來提供所需的模型部署屬性。 預設值: None
|
gpu_cores
|
要配置給此 Webservice 的 GPU 核心數目 預設值: None
|
period_seconds
|
執行活躍度探查的頻率 (以秒為單位)。 預設值為 10 秒。 最小值為 1。 預設值: None
|
initial_delay_seconds
|
在起始活躍度探查之前,容器啟動後的秒數。 預設值: None
|
timeout_seconds
|
存留時間探查逾時的秒數。預設為 1 秒。 最小值為 1。 預設值: None
|
success_threshold
|
失敗之後,會將活躍度探查的最小連續成功次數視為成功。 預設值為 1。 最小值為 1。 預設值: None
|
failure_threshold
|
當 Pod 啟動且活躍度探查失敗時,Kubernetes 會在放棄之前先嘗試使用 failureThreshold 時間。 預設值為 3。 最小值為 1。 預設值: None
|
namespace
|
要在其中部署此 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 |
---|---|