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
必要
|
要擷取之 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
|
是否為 Web 服務啟用 AppInsights 記錄。 |
autoscaler
|
Webservice 的 Autoscaler 物件。 |
compute_name
|
Web 服務所部署的 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
|
是否為 Web 服務啟用令牌驗證。 |
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
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
|
自動調整程式應嘗試針對此 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
|
要強制對這個 Webservice 進行評分呼叫的逾時。 預設值為 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
|
要用於此 Webservice 的主要驗證金鑰。 預設值: None
|
secondary_key
|
要用於此 Webservice 的次要驗證金鑰。 預設值: None
|
tags
|
索引鍵值標記的字典,以提供這個 Webservice。 預設值: None
|
properties
|
要提供此 Webservice 的索引鍵值屬性字典。 部署之後就無法變更這些屬性,但是可以新增新的索引鍵值組。 預設值: 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 允許使用此 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
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
|
目標使用率 (超過 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
|
強制對這個 Webservice 進行評分呼叫的逾時 預設值: None
|
replica_max_concurrent_requests
|
每個復本允許此 Webservice 的最大並行要求數目。 預設值: None
|
max_request_wait_time
|
要求在傳回 503 錯誤之前,要求在佇列中停留的時間上限 (以毫秒為單位) 預設值: None
|
num_replicas
|
要配置給此 Webservice 的容器數目 預設值: None
|
tags
|
索引鍵值標記的字典,以提供這個 Webservice。 將會取代現有的標籤。 預設值: 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 允許使用此 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 |
---|---|