AksWebservice 类
表示一个部署为 Azure Kubernetes 服务上 Web 服务终结点的机器学习模型。
从模型、脚本和关联的文件创建已部署的服务。 生成的 Web 服务是一个负载均衡、具有 REST API 的 HTTP 终结点。 可将数据发送到此 API,并接收模型返回的预测。
AksWebservice 将一个服务部署到一个终结点。 若要将多个服务部署到一个终结点,请使用 AksEndpoint 类。
有关详细信息,请参阅将模型部署到 Azure Kubernetes 服务群集。
初始化 Webservice 实例。
Webservice 构造函数检索与提供的工作区关联的 Webservice 对象的云表示形式。 它将返回与检索到的 Webservice 对象的特定类型对应的子类的实例。
- 继承
-
AksWebservice
构造函数
AksWebservice(workspace, name)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含要检索的 Webservice 对象的工作区对象。 |
name
必需
|
要检索的 Webservice 对象的名称。 |
注解
建议的部署模式是使用 deploy_configuration
方法创建部署配置对象,然后将该对象与 Model 类的 deploy
方法一起使用,如下所示。
# 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)
有多种方法可以将模型部署为 webservice,包括:
已在工作区中注册的模型的 Model 的
deploy
方法。Webservice 的
deploy_from_image
方法。已在工作区中注册的模型的 Webservice 的
deploy_from_model
方法。 此方法将创建映像。Webservice 的
deploy
方法,它将注册模型并创建映像。
有关使用 webservice 的信息,请参阅
“变量”部分列出了云 AksWebservice 对象的本地表示形式的属性。 应将这些变量视为只读。 更改其值不会反映在对应的云对象中。
变量
名称 | 说明 |
---|---|
enable_app_insights
|
是否为 Webservice 启用了 AppInsights 日志记录。 |
autoscaler
|
Webservice 的自动缩放程序对象。 |
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 |
使用提供的输入调用此 Web 服务。 |
serialize |
将此 Webservice 转换为 JSON 序列化字典。 |
update |
使用提供的属性更新 Webservice。 在此 Webservice 中,保留为 None 的值将保持不变。 |
add_properties
将键值对添加到此 Webservice 的属性字典。
add_properties(properties)
参数
名称 | 说明 |
---|---|
properties
必需
|
要添加的属性字典。 |
add_tags
将键值对添加到此 Webservice 的标记字典。
add_tags(tags)
参数
名称 | 说明 |
---|---|
tags
必需
|
要添加的标记字典。 |
例外
类型 | 说明 |
---|---|
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)
参数
名称 | 说明 |
---|---|
autoscale_enabled
|
是否为此 Webservice 启用自动缩放。 如果 num_replicas 为 None,则默认值为 True。 默认值: None
|
autoscale_min_replicas
|
自动缩放此 Webservice 时要使用的容器的最小数目。 默认值为 1。 默认值: None
|
autoscale_max_replicas
|
自动缩放此 Webservice 时要使用的容器的最大数目。 默认值为 10。 默认值: None
|
autoscale_refresh_seconds
|
自动缩放程序应尝试缩放此 Webservice 的频率。 默认值为 1。 默认值: None
|
autoscale_target_utilization
|
自动缩放程序应尝试维持此 Webservice 的目标利用率(以低于 100 的百分比表示)。 默认值为 70。 默认值: None
|
collect_model_data
|
是否为此 Webservice 启用模型数据收集。 默认为 False。 默认值: None
|
auth_enabled
|
是否为此 Webservice 启用密钥身份验证。 默认为 True。 默认值: None
|
cpu_cores
|
要分配给此 Webservice 的 CPU 核心数。 可以是小数。 默认值为 0.1。 对应于 Azure Kubernetes 服务中的 Pod 核心请求,而不是限制。 默认值: None
|
memory_gb
|
为此 Webservice 分配的内存量 (GB)。 可以是小数。 默认值为 0.5。 对应于 Azure Kubernetes 服务中的 Pod 内存请求,而不是限制。 默认值: None
|
enable_app_insights
|
是否为此 Webservice 启用 Application Insights 日志记录。 默认为 False。 默认值: None
|
scoring_timeout_ms
|
对此 Webservice 的评分调用强制执行的超时时间。 默认值为 60000。 默认值: None
|
replica_max_concurrent_requests
|
允许用于此 Webservice 的每个副本的最大并发请求数。 默认值为 1。 除非获得 Microsoft 技术支持人员或 Azure 机器学习团队成员的指导,否则不要更改此设置的默认值 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
|
要分配给此 Web 服务的 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
|
要在其中部署此 Web 服务的 Kubernetes 命名空间:最多 63 个小写字母数字(“a”-“z”、“0”-“9”)和连字符(“-”)。 第一个和最后一个字符不能为连字符。 默认值: None
|
token_auth_enabled
|
是否为此 Webservice 启用令牌身份验证。 如果启用此功能,则用户可以通过使用使用其 Azure Active Directory 凭据提取访问令牌来访问此 Webservice。 默认为 False。 默认值: None
|
compute_target_name
|
要部署到的计算目标的名称 默认值: None
|
cpu_cores_limit
|
允许此 Webservice 使用的最大 CPU 核心数。 可以是小数。 默认值: None
|
memory_gb_limit
|
允许此 Webservice 使用的最大内存量 (GB)。 可以是小数。 默认值: None
|
blobfuse_enabled
|
是否为此 Webservice 启用 blobfuse 模型下载。 默认为 True 默认值: None
|
返回
类型 | 说明 |
---|---|
部署 AksWebservice 时要使用的配置对象。 |
例外
类型 | 说明 |
---|---|
get_access_token
检索此 Webservice 的身份验证令牌。
get_access_token()
返回
类型 | 说明 |
---|---|
用于描述此 Webservice 的身份验证令牌的对象。 |
例外
类型 | 说明 |
---|---|
get_token
已弃用。 请改用 get_access_token
方法。
检索此 Webservice 的身份验证令牌。
get_token()
返回
类型 | 说明 |
---|---|
此 Webservice 的身份验证令牌以及何时刷新此令牌。 |
例外
类型 | 说明 |
---|---|
remove_tags
run
使用提供的输入调用此 Web 服务。
run(input_data)
参数
名称 | 说明 |
---|---|
input_data
必需
|
<xref:varies>
用于调用 Webservice 的输入 |
返回
类型 | 说明 |
---|---|
调用 Web 服务后的结果 |
例外
类型 | 说明 |
---|---|
serialize
update
使用提供的属性更新 Webservice。
在此 Webservice 中,保留为 None 的值将保持不变。
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)
参数
名称 | 说明 |
---|---|
image
|
要部署到 Webservice 的新映像 默认值: None
|
autoscale_enabled
|
启用或禁用此 Webservice 的自动缩放 默认值: None
|
autoscale_min_replicas
|
自动缩放此 Webservice 时要使用的容器的最小数目 默认值: None
|
autoscale_max_replicas
|
自动缩放此 Webservice 时要使用的容器的最大数目 默认值: None
|
autoscale_refresh_seconds
|
自动缩放程序应尝试缩放此 Webservice 的频率 默认值: None
|
autoscale_target_utilization
|
自动缩放程序应尝试为此 Webservice 维持的目标利用率(以低于 100 的百分比表示) 默认值: None
|
collect_model_data
|
为此 Webservice 启用或禁用模型数据收集 默认值: None
|
auth_enabled
|
是否为此 Webservice 启用身份验证 默认值: None
|
cpu_cores
|
要分配给此 Webservice 的 CPU 核心数。 可以是小数 默认值: None
|
memory_gb
|
为此 Webservice 分配的内存量 (GB)。 可以是小数 默认值: None
|
enable_app_insights
|
是否为此 Webservice 启用 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
|
要与已更新的服务一起打包的模型对象的列表 默认值: None
|
inference_config
|
用于提供所需模型部署属性的 InferenceConfig 对象。 默认值: None
|
gpu_cores
|
要分配给此 Web 服务的 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
|
要在其中部署此 Web 服务的 Kubernetes 命名空间:最多 63 个小写字母数字(“a”-“z”、“0”-“9”)和连字符(“-”)。 第一个和最后一个字符不能为连字符。 默认值: None
|
token_auth_enabled
|
是否为此 Webservice 启用令牌身份验证。 如果启用此功能,则用户可以通过使用其 Azure Active Directory 凭据提取访问令牌来访问此 Webservice。 默认为 False 默认值: None
|
cpu_cores_limit
|
允许此 Webservice 使用的最大 CPU 核心数。 可以是小数。 默认值: None
|
memory_gb_limit
|
允许此 Webservice 使用的最大内存量 (GB)。 可以是小数。 默认值: None
|
kwargs
必需
|
<xref:varies>
包括参数,以支持将 AKS Web 服务迁移到 Kubernetes 联机终结点和部署。 is_migration=True|False, compute_target=. |
例外
类型 | 说明 |
---|---|