Webservice 類別
定義在 Azure Machine Learning 中將模型部署為 Web 服務端點的基本功能。
Webservice 建構函式可用來擷取與所提供工作區相關聯之 Webservice 物件的雲端標記法。 傳回對應至所擷取之 Webservice 物件之特定型別之子類別的實例。 Webservice 類別允許從 Model 或 Image 物件部署機器學習模型。
如需使用 Webservice 的詳細資訊,請參閱 使用 Azure Machine Learning 部署模型。
初始化 Webservice 實例。
Webservice 建構函式會擷取與所提供工作區相關聯之 Webservice 物件的雲端標記法。 它會傳回對應至所擷取之 Webservice 物件之特定類型的子類別實例。
- 繼承
-
Webservice
建構函式
Webservice(workspace, name)
參數
備註
下列範例顯示建議的部署模式,在此案例 AksWebservice 中,您會先使用 deploy_configuration
Webservice (子類別的 方法建立組態物件,) 然後使用 組態搭配 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)
下列範例示範如何尋找工作區中的現有 AciWebservice ,並在存在時將其刪除,以便重複使用名稱。
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
有數種方式可將模型部署為 Web 服務,包括:
deploy
Model已在工作區中註冊之模型的 方法。deploy_from_image
Webservice已從模型建立影像的 方法。deploy_from_model
已在 Webservice 工作區中註冊之模型的 方法。 這個方法會建立映射。deploy
的 Webservice 方法,它會註冊模型並建立映射。
如需使用 Web 服務的資訊,請參閱
[變數] 區段會列出雲端 Webservice 物件的本機標記法的屬性。 這些變數應該視為唯讀。 變更其值不會反映在對應的雲端物件中。
變數
- auth_enabled
- bool
Webservice 是否已啟用驗證。
- compute_type
- str
Webservice 所部署的計算類型。
- created_time
- datetime
建立 Web 服務時。
- azureml.core.Webservice.description
Webservice 物件的描述。
- azureml.core.Webservice.tags
Webservice 物件的標記字典。
- azureml.core.Webservice.name
Webservice 的名稱。
- azureml.core.Webservice.properties
Webservice 索引鍵值屬性的字典。 部署之後無法變更這些屬性,不過可以新增新的索引鍵值組。
- created_by
- str
建立 Webservice 的使用者。
- error
- str
如果 Web 服務無法部署,這會包含失敗原因的錯誤訊息。
- azureml.core.Webservice.state
Webservice 的目前狀態。
- updated_time
- datetime
上次更新 Webservice 的時間。
- azureml.core.Webservice.workspace
包含此 Webservice 的 Azure Machine Learning 工作區。
- token_auth_enabled
- bool
Webservice 是否已啟用權杖驗證。
方法
check_for_existing_webservice |
檢查 Webservice 是否存在。 |
delete |
從其相關聯的工作區中刪除此 Webservice。 此函式呼叫不是非同步。 呼叫會執行,直到刪除資源為止。 WebserviceException如果從模型管理服務刪除模型時發生問題,則會引發 。 |
deploy |
從零個或多個 Model 物件部署 Web 服務。 此函式會註冊提供的任何模型檔案,並在程式中建立映射,所有與指定的 Workspace 相關聯。 當您有模型目錄來部署先前尚未註冊的模型時,請使用此函式。 產生的 Webservice 是可用於推斷要求的即時端點。 如需詳細資訊,請參閱 取用部署為 Web 服務的模型。 |
deploy_from_image |
從 Image 物件部署 Webservice。 如果您已經為模型建立 Image 物件,請使用此函式。 產生的 Webservice 是可用於推斷要求的即時端點。 如需詳細資訊,請參閱 取用部署為 Web 服務的模型。 |
deploy_from_model |
從零個或多個 Model 物件部署 Web 服務。 此函式類似于 deploy ,但不會註冊模型。 如果您有已註冊的模型物件,請使用此函式。 這會在程式中建立與指定工作區相關聯的映射。 產生的 Webservice 是可用於推斷要求的即時端點。 如需詳細資訊,請參閱 取用部署為 Web 服務的模型。 |
deploy_local_from_model |
建置和部署 LocalWebservice 以進行測試。 需要安裝並設定 Docker。 |
deserialize |
將模型管理服務回應 JSON 物件轉換成 Webservice 物件。 如果提供的工作區不是 Web 服務註冊所在的工作區,將會失敗。 |
get_keys |
擷取此 Webservice 的驗證金鑰。 |
get_logs |
擷取此 Webservice 的記錄。 |
get_token |
擷取此 Webservice 的驗證權杖,範圍限定為目前使用者。 |
list |
列出與對應 Workspace 相關聯的 Web 服務。 傳回的結果可以使用參數進行篩選。 |
regen_key |
重新產生其中一個 Webservice 的金鑰,可以是「主要」或「次要」金鑰。 WebserviceException如果未 |
run |
使用提供的輸入呼叫此 Webservice。 由 的子類別實作的 Webservice 抽象方法。 |
serialize |
將此 Webservice 物件轉換成 JSON 序列化字典。 用來 deserialize 轉換回 Webservice 物件。 |
update |
更新 Webservice 參數。 這是 由 的子類別所實作的 Webservice 抽象方法。 更新的可能參數會根據 Webservice 子類型而有所不同。 例如,如需 Azure 容器執行個體 webservices,請參閱 update 以取得特定參數。 |
update_deployment_state |
重新整理記憶體內建物件的目前狀態。 根據對應雲端物件的目前狀態,執行物件的就地更新。 主要用於手動輪詢建立狀態。 |
wait_for_deployment |
自動輪詢執行中的 Webservice 部署。 等候 Webservice 到達終端機狀態。 如果達到非成功的終端機狀態或超過提供的逾時,將會擲 WebserviceException 回 。 |
check_for_existing_webservice
檢查 Webservice 是否存在。
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
參數
- workspace
- Workspace
- name
- str
- overwrite
- bool
- request_func
- <xref:function>
用來要求服務以檢查服務名稱是否存在的函式
- check_func
- <xref:function>
用來檢查request_func回應內容的函式
例外狀況
delete
從其相關聯的工作區中刪除此 Webservice。
此函式呼叫不是非同步。 呼叫會執行,直到刪除資源為止。 WebserviceException如果從模型管理服務刪除模型時發生問題,則會引發 。
delete()
例外狀況
deploy
從零個或多個 Model 物件部署 Web 服務。
此函式會註冊提供的任何模型檔案,並在程式中建立映射,所有與指定的 Workspace 相關聯。 當您有模型目錄來部署先前尚未註冊的模型時,請使用此函式。
產生的 Webservice 是可用於推斷要求的即時端點。 如需詳細資訊,請參閱 取用部署為 Web 服務的模型。
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
參數
- deployment_config
- WebserviceDeploymentConfiguration
用來設定 Web 服務的 WebserviceDeploymentConfiguration。 如果未提供,則會根據所需的目標來使用空的組態物件。
- deployment_target
- ComputeTarget
要 ComputeTarget 部署 Webservice 的 。 由於Azure 容器執行個體沒有相關聯的 ComputeTarget ,請將此參數保留為 [無] 以部署至Azure 容器執行個體。
傳回
對應至已部署 Webservice 的 Webservice 物件。
傳回類型
例外狀況
deploy_from_image
從 Image 物件部署 Webservice。
如果您已經為模型建立 Image 物件,請使用此函式。
產生的 Webservice 是可用於推斷要求的即時端點。 如需詳細資訊,請參閱 取用部署為 Web 服務的模型。
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
參數
- deployment_config
- WebserviceDeploymentConfiguration
用來設定 Web 服務的 WebserviceDeploymentConfiguration。 如果未提供,則會根據所需的目標來使用空的組態物件。
- deployment_target
- ComputeTarget
要 ComputeTarget 部署 Webservice 的 。 由於Azure 容器執行個體沒有相關聯的 ComputeTarget ,請將此參數保留為 [無] 以部署至Azure 容器執行個體。
傳回
對應至已部署 Webservice 的 Webservice 物件。
傳回類型
例外狀況
deploy_from_model
從零個或多個 Model 物件部署 Web 服務。
此函式類似于 deploy ,但不會註冊模型。 如果您有已註冊的模型物件,請使用此函式。 這會在程式中建立與指定工作區相關聯的映射。
產生的 Webservice 是可用於推斷要求的即時端點。 如需詳細資訊,請參閱 取用部署為 Web 服務的模型。
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
參數
- deployment_config
- WebserviceDeploymentConfiguration
用來設定 Web 服務的 WebserviceDeploymentConfiguration。 如果未提供,則會根據所需的目標來使用空的組態物件。
- deployment_target
- ComputeTarget
要 ComputeTarget 部署 Webservice 的 。 由於 ACI 沒有相關聯的 ComputeTarget ,請將此參數保留為 None 以部署至 ACI。
傳回
對應至已部署 Webservice 的 Webservice 物件。
傳回類型
例外狀況
deploy_local_from_model
建置和部署 LocalWebservice 以進行測試。
需要安裝並設定 Docker。
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
參數
- deployment_config
- LocalWebserviceDeploymentConfiguration
用來設定 Web 服務的 LocalWebserviceDeploymentConfiguration。 如果未提供,則會使用空的組態物件。
傳回類型
例外狀況
deserialize
將模型管理服務回應 JSON 物件轉換成 Webservice 物件。
如果提供的工作區不是 Web 服務註冊所在的工作區,將會失敗。
deserialize(workspace, webservice_payload)
參數
- cls
表示這是類別方法。
傳回
所提供 JSON 物件的 Webservice 表示。
傳回類型
例外狀況
get_keys
get_logs
擷取此 Webservice 的記錄。
get_logs(num_lines=5000, init=False)
參數
傳回
此 Webservice 的記錄。
傳回類型
例外狀況
get_token
擷取此 Webservice 的驗證權杖,範圍限定為目前使用者。
get_token()
傳回
此 Webservice 的驗證權杖,以及何時應該重新整理。
傳回類型
例外狀況
list
列出與對應 Workspace 相關聯的 Web 服務。
傳回的結果可以使用參數進行篩選。
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
參數
傳回
所提供工作區中 Webservices 的篩選清單。
傳回類型
例外狀況
regen_key
重新產生其中一個 Webservice 的金鑰,可以是「主要」或「次要」金鑰。
WebserviceException如果未 key
指定 ,或不是 'Primary' 或 'Secondary',則會引發 。
regen_key(key, set_key=None)
參數
例外狀況
run
使用提供的輸入呼叫此 Webservice。
由 的子類別實作的 Webservice 抽象方法。
abstract run(input)
參數
- input
- <xref:varies>
用來呼叫 Webservice 的輸入資料。 這是您的機器學習模型預期作為輸入來執行預測的資料。
傳回
呼叫 Webservice 的結果。 這會從您的機器學習模型傳回預測。
傳回類型
例外狀況
serialize
將此 Webservice 物件轉換成 JSON 序列化字典。
用來 deserialize 轉換回 Webservice 物件。
serialize()
傳回
這個 Webservice 的 JSON 標記法。
傳回類型
例外狀況
update
更新 Webservice 參數。
這是 由 的子類別所實作的 Webservice 抽象方法。 更新的可能參數會根據 Webservice 子類型而有所不同。 例如,如需 Azure 容器執行個體 webservices,請參閱 update 以取得特定參數。
abstract update(*args)
參數
- args
- <xref:varies>
要更新的值。
例外狀況
update_deployment_state
重新整理記憶體內建物件的目前狀態。
根據對應雲端物件的目前狀態,執行物件的就地更新。 主要用於手動輪詢建立狀態。
update_deployment_state()
例外狀況
wait_for_deployment
自動輪詢執行中的 Webservice 部署。
等候 Webservice 到達終端機狀態。 如果達到非成功的終端機狀態或超過提供的逾時,將會擲 WebserviceException 回 。
wait_for_deployment(show_output=False, timeout_sec=None)
參數
例外狀況
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應