AksWebservice 类
表示部署为 Azure Kubernetes 服务上的 Web 服务终结点的机器学习模型。
部署的服务是从模型、脚本和关联的文件创建的。 生成的 Web 服务是具有 REST API 的负载均衡 HTTP 终结点。 可以将数据发送到此 API,并接收模型返回的预测。
AksWebservice 将单个服务部署到一个终结点。 若要将多个服务部署到一个终结点,请使用类 AksEndpoint 。
有关详细信息,请参阅 将模型部署到 Azure Kubernetes 服务群集。
初始化 Webservice 实例。
Webservice 构造函数检索与提供的工作区关联的 Webservice 对象的云表示形式。 它将返回与检索的 Webservice 对象的特定类型对应的子类的实例。
构造函数
AksWebservice(workspace, name)
参数
名称 | 说明 |
---|---|
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 对象的本地表示形式的属性。 这些变量应视为只读。 更改其值不会反映在相应的云对象中。
变量
名称 | 说明 |
---|---|
enable_app_insights
|
是否为 Web 服务启用了 AppInsights 日志记录。 |
autoscaler
|
Web 服务的自动缩放程序对象。 |
compute_name
|
Web 服务部署到的 ComputeTarget 的名称。 |
container_resource_requirements
|
Web 服务的容器资源要求。 |
liveness_probe_requirements
|
Web 服务的实时性探测要求。 |
data_collection
|
Web 服务的 DataCollection 对象。 |
max_concurrent_requests_per_container
|
Web 服务的每个容器的最大并发请求数。 |
max_request_wait_time
|
Web 服务的最大请求等待时间(以毫秒为单位)。 |
num_replicas
|
Web 服务的副本数。 每个副本对应于 AKS Pod。 |
scoring_timeout_ms
|
Web 服务的计分超时(以毫秒为单位)。 |
azureml.core.webservice.AksWebservice.scoring_uri
|
Web 服务的评分终结点 |
is_default
|
如果 Web 服务是父 AksEndpoint 的默认版本。 |
traffic_percentile
|
要路由到父 AksEndpoint 中的 Webservice 的流量百分比。 |
version_type
|
父 AksEndpoint 中 Web 服务的版本类型。 |
token_auth_enabled
|
是否为 Web 服务启用了令牌身份验证。 |
environment
|
用于创建 Web 服务的 Environment 对象。 |
azureml.core.webservice.AksWebservice.models
|
部署到 Web 服务的模型列表。 |
deployment_status
|
Web 服务的部署状态。 |
namespace
|
Web 服务的 AKS 命名空间。 |
azureml.core.webservice.AksWebservice.swagger_uri
|
Web 服务的 swagger 终结点。 |
方法
add_properties |
向此 Web 服务的属性字典添加键值对。 |
add_tags |
将键值对添加到此 Webservice 的标记字典。 引发一个 WebserviceException。 |
deploy_configuration |
创建用于部署到 AKS 计算目标的配置对象。 |
get_access_token |
检索此 Web 服务的身份验证令牌。 |
get_token |
荒废的。 请改用 检索此 Web 服务的身份验证令牌。 |
remove_tags |
从此 Webservice 标记字典中删除指定的键。 |
run |
使用提供的输入调用此 Web 服务。 |
serialize |
将此 Web 服务转换为 JSON 序列化字典。 |
update |
使用提供的属性更新 Web 服务。 保留为 None 的值将在此 Web 服务中保持不变。 |
add_properties
add_tags
将键值对添加到此 Webservice 的标记字典。
引发一个 WebserviceException。
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
|
是否为此 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
|
是否为此 Web 服务启用模型数据收集。 默认为 False。 默认值: None
|
auth_enabled
|
是否为此 Web 服务启用密钥身份验证。 默认为 True。 默认值: None
|
cpu_cores
|
要为此 Web 服务分配的 CPU 核心数。 可以是小数。 默认值为 0.1。 对应于 Azure Kubernetes 服务中的 Pod 核心请求,而不是限制。 默认值: None
|
memory_gb
|
要为此 Web 服务分配的内存量(以 GB 为单位)。 可以是小数。 默认值为 0.5。 对应于 Azure Kubernetes 服务中的 Pod 内存请求,而不是限制。 默认值: None
|
enable_app_insights
|
是否为此 Web 服务启用 Application Insights 日志记录。 默认为 False。 默认值: None
|
scoring_timeout_ms
|
用于对此 Web 服务进行评分调用的超时。 默认值为 60000。 默认值: None
|
replica_max_concurrent_requests
|
允许此 Web 服务的每个副本的最大并发请求数。 默认值为 1。 除非Microsoft技术支持或 Azure 机器学习团队的成员指示,否则不要从默认值 1 更改此设置。 默认值: None
|
max_request_wait_time
|
在返回 503 错误之前,请求将停留在队列中(以毫秒为单位)的最大时间。 默认值为 500。 默认值: None
|
num_replicas
|
要为此 Web 服务分配的容器数。 如果未设置此参数,则默认启用自动缩放程序。 默认值: None
|
primary_key
|
用于此 Web 服务的主身份验证密钥。 默认值: None
|
secondary_key
|
用于此 Web 服务的辅助身份验证密钥。 默认值: None
|
tags
|
要为此 Web 服务提供键值标记的字典。 默认值: None
|
properties
|
要为此 Web 服务提供键值属性的字典。 部署后无法更改这些属性,但可以添加新的键值对。 默认值: None
|
description
|
提供此 Web 服务的说明。 默认值: 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
|
是否为此 Web 服务启用令牌身份验证。 如果启用此功能,则用户可以使用其 Azure Active Directory 凭据提取访问令牌来访问此 Web 服务。 默认为 False。 默认值: None
|
compute_target_name
|
要部署到的计算目标的名称 默认值: None
|
cpu_cores_limit
|
允许此 Web 服务使用的最大 CPU 核心数。 可以是小数。 默认值: None
|
memory_gb_limit
|
允许使用此 Web 服务的最大内存量(以 GB 为单位)。 可以是小数。 默认值: None
|
blobfuse_enabled
|
是否为此 Web 服务启用模型下载的 blobfuse。 默认值为 True 默认值: None
|
返回
类型 | 说明 |
---|---|
部署 AksWebservice 时要使用的配置对象。 |
例外
类型 | 说明 |
---|---|
get_access_token
检索此 Web 服务的身份验证令牌。
get_access_token()
返回
类型 | 说明 |
---|---|
描述此 Web 服务的身份验证令牌的对象。 |
例外
类型 | 说明 |
---|---|
get_token
荒废的。 请改用 get_access_token
方法。
检索此 Web 服务的身份验证令牌。
get_token()
返回
类型 | 说明 |
---|---|
此 Web 服务的身份验证令牌以及刷新时间。 |
例外
类型 | 说明 |
---|---|
run
使用提供的输入调用此 Web 服务。
run(input_data)
参数
名称 | 说明 |
---|---|
input_data
必需
|
<xref:varies>
用于调用 Webservice 的输入 |
返回
类型 | 说明 |
---|---|
调用 Web 服务的结果 |
例外
类型 | 说明 |
---|---|
serialize
update
使用提供的属性更新 Web 服务。
保留为 None 的值将在此 Web 服务中保持不变。
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
|
要部署到 Web 服务的新映像 默认值: None
|
autoscale_enabled
|
启用或禁用此 Web 服务的自动缩放 默认值: None
|
autoscale_min_replicas
|
自动缩放此 Web 服务时要使用的最小容器数 默认值: None
|
autoscale_max_replicas
|
自动缩放此 Web 服务时使用的最大容器数 默认值: None
|
autoscale_refresh_seconds
|
自动缩放程序应尝试缩放此 Web 服务的频率 默认值: None
|
autoscale_target_utilization
|
自动缩放程序应尝试为此 Web 服务维护目标利用率(以百分比为单位) 默认值: None
|
collect_model_data
|
为此 Web 服务启用或禁用模型数据收集 默认值: None
|
auth_enabled
|
是否为此 Web 服务启用身份验证 默认值: None
|
cpu_cores
|
要为此 Web 服务分配的 CPU 核心数。 可以是小数 默认值: None
|
memory_gb
|
要为此 Web 服务分配的内存量(以 GB 为单位)。 可以是小数 默认值: None
|
enable_app_insights
|
是否为此 Web 服务启用 Application Insights 日志记录 默认值: None
|
scoring_timeout_ms
|
用于对此 Web 服务进行评分调用的超时 默认值: None
|
replica_max_concurrent_requests
|
允许此 Web 服务的每个副本的最大并发请求数。 默认值: None
|
max_request_wait_time
|
在返回 503 错误之前,请求在队列中保持的最大时间(以毫秒为单位) 默认值: None
|
num_replicas
|
要为此 Web 服务分配的容器数 默认值: None
|
tags
|
要为此 Web 服务提供键值标记的字典。 将替换现有标记。 默认值: None
|
properties
|
要添加到现有属性字典的键值属性字典 默认值: None
|
description
|
提供此 Web 服务的说明 默认值: None
|
models
|
要与更新的服务一起打包的 Model 对象列表 默认值: 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
|
是否为此 Web 服务启用令牌身份验证。 如果启用此功能,则用户可以使用其 Azure Active Directory 凭据提取访问令牌来访问此 Web 服务。 默认为 False 默认值: None
|
cpu_cores_limit
|
允许此 Web 服务使用的最大 CPU 核心数。 可以是小数。 默认值: None
|
memory_gb_limit
|
允许使用此 Web 服务的最大内存量(以 GB 为单位)。 可以是小数。 默认值: None
|
kwargs
必需
|
<xref:varies>
包括用于支持将 AKS Web 服务迁移到 Kubernetes 联机终结点和部署的参数。 is_migration=True|False,compute_target=。 |
例外
类型 | 说明 |
---|---|