AksWebservice 类

表示部署为 Azure Kubernetes 服务上的 Web 服务终结点的机器学习模型。

部署的服务是从模型、脚本和关联的文件创建的。 生成的 Web 服务是具有 REST API 的负载均衡 HTTP 终结点。 可以将数据发送到此 API,并接收模型返回的预测。

AksWebservice 将单个服务部署到一个终结点。 若要将多个服务部署到一个终结点,请使用类 AksEndpoint

有关详细信息,请参阅 将模型部署到 Azure Kubernetes 服务群集

初始化 Webservice 实例。

Webservice 构造函数检索与提供的工作区关联的 Webservice 对象的云表示形式。 它将返回与检索的 Webservice 对象的特定类型对应的子类的实例。

构造函数

AksWebservice(workspace, name)

参数

名称 说明
workspace
必需

包含要检索的 Webservice 对象的工作区对象。

name
必需
str

要检索的 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
str

Web 服务部署到的 ComputeTarget 的名称。

container_resource_requirements

Web 服务的容器资源要求。

liveness_probe_requirements

Web 服务的实时性探测要求。

data_collection

Web 服务的 DataCollection 对象。

max_concurrent_requests_per_container
int

Web 服务的每个容器的最大并发请求数。

max_request_wait_time
int

Web 服务的最大请求等待时间(以毫秒为单位)。

num_replicas
int

Web 服务的副本数。 每个副本对应于 AKS Pod。

scoring_timeout_ms
int

Web 服务的计分超时(以毫秒为单位)。

azureml.core.webservice.AksWebservice.scoring_uri
str

Web 服务的评分终结点

is_default

如果 Web 服务是父 AksEndpoint 的默认版本。

traffic_percentile
int

要路由到父 AksEndpoint 中的 Webservice 的流量百分比。

version_type

父 AksEndpoint 中 Web 服务的版本类型。

token_auth_enabled

是否为 Web 服务启用了令牌身份验证。

environment

用于创建 Web 服务的 Environment 对象。

azureml.core.webservice.AksWebservice.models

部署到 Web 服务的模型列表。

deployment_status
str

Web 服务的部署状态。

namespace
str

Web 服务的 AKS 命名空间。

azureml.core.webservice.AksWebservice.swagger_uri
str

Web 服务的 swagger 终结点。

方法

add_properties

向此 Web 服务的属性字典添加键值对。

add_tags

将键值对添加到此 Webservice 的标记字典。

引发一个 WebserviceException

deploy_configuration

创建用于部署到 AKS 计算目标的配置对象。

get_access_token

检索此 Web 服务的身份验证令牌。

get_token

荒废的。 请改用 get_access_token 方法。

检索此 Web 服务的身份验证令牌。

remove_tags

从此 Webservice 标记字典中删除指定的键。

run

使用提供的输入调用此 Web 服务。

serialize

将此 Web 服务转换为 JSON 序列化字典。

update

使用提供的属性更新 Web 服务。

保留为 None 的值将在此 Web 服务中保持不变。

add_properties

向此 Web 服务的属性字典添加键值对。

add_properties(properties)

参数

名称 说明
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
int

自动缩放此 Web 服务时要使用的最小容器数。 默认值为 1。

默认值: None
autoscale_max_replicas
int

自动缩放此 Web 服务时要使用的容器的最大数目。 默认值为 10。

默认值: None
autoscale_refresh_seconds
int

自动缩放程序应尝试缩放此 Web 服务的频率。 默认值为 1。

默认值: None
autoscale_target_utilization
int

自动缩放程序应尝试维护此 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
int

用于对此 Web 服务进行评分调用的超时。 默认值为 60000。

默认值: None
replica_max_concurrent_requests
int

允许此 Web 服务的每个副本的最大并发请求数。 默认值为 1。 除非Microsoft技术支持或 Azure 机器学习团队的成员指示,否则不要从默认值 1 更改此设置。

默认值: None
max_request_wait_time
int

在返回 503 错误之前,请求将停留在队列中(以毫秒为单位)的最大时间。 默认值为 500。

默认值: None
num_replicas
int

要为此 Web 服务分配的容器数。 如果未设置此参数,则默认启用自动缩放程序。

默认值: None
primary_key
str

用于此 Web 服务的主身份验证密钥。

默认值: None
secondary_key
str

用于此 Web 服务的辅助身份验证密钥。

默认值: None
tags

要为此 Web 服务提供键值标记的字典。

默认值: None
properties

要为此 Web 服务提供键值属性的字典。 部署后无法更改这些属性,但可以添加新的键值对。

默认值: None
description
str

提供此 Web 服务的说明。

默认值: None
gpu_cores
int

要为此 Web 服务分配的 GPU 核心数。 默认值为 0。

默认值: None
period_seconds
int

执行运行情况探测的频率(秒)。 默认值为 10 秒。 最小值为 1。

默认值: None
initial_delay_seconds
int

启动生存情况探测之前容器启动后的秒数。 默认值为 310。

默认值: None
timeout_seconds
int

运行情况探测超时的秒数。默认值为 2 秒。 最小值为 1。

默认值: None
success_threshold
int

运行情况探测在失败后被视为成功的最小连续成功。 默认值为 1。 最小值为 1。

默认值: None
failure_threshold
int

当 Pod 启动而运行情况探测失败时,Kubernetes 将尝试 failureThreshold 次才会放弃。 默认值为 3。 最小值为 1。

默认值: None
namespace
str

要在其中部署此 Web 服务的 Kubernetes 命名空间:最多 63 个小写字母数字('a'-'z'、'0'-'9')和连字符('-')字符。 第一个字符和最后一个字符不能是连字符。

默认值: None
token_auth_enabled

是否为此 Web 服务启用令牌身份验证。 如果启用此功能,则用户可以使用其 Azure Active Directory 凭据提取访问令牌来访问此 Web 服务。 默认为 False。

默认值: None
compute_target_name
str

要部署到的计算目标的名称

默认值: 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 服务的身份验证令牌以及刷新时间。

例外

类型 说明

remove_tags

从此 Webservice 标记字典中删除指定的键。

remove_tags(tags)

参数

名称 说明
tags
必需

要删除的密钥列表

run

使用提供的输入调用此 Web 服务。

run(input_data)

参数

名称 说明
input_data
必需
<xref:varies>

用于调用 Webservice 的输入

返回

类型 说明

调用 Web 服务的结果

例外

类型 说明

serialize

将此 Web 服务转换为 JSON 序列化字典。

serialize()

返回

类型 说明

此 Web 服务的 JSON 表示形式。

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
int

自动缩放此 Web 服务时要使用的最小容器数

默认值: None
autoscale_max_replicas
int

自动缩放此 Web 服务时使用的最大容器数

默认值: None
autoscale_refresh_seconds
int

自动缩放程序应尝试缩放此 Web 服务的频率

默认值: None
autoscale_target_utilization
int

自动缩放程序应尝试为此 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
int

用于对此 Web 服务进行评分调用的超时

默认值: None
replica_max_concurrent_requests
int

允许此 Web 服务的每个副本的最大并发请求数。

默认值: None
max_request_wait_time
int

在返回 503 错误之前,请求在队列中保持的最大时间(以毫秒为单位)

默认值: None
num_replicas
int

要为此 Web 服务分配的容器数

默认值: None
tags

要为此 Web 服务提供键值标记的字典。 将替换现有标记。

默认值: None
properties

要添加到现有属性字典的键值属性字典

默认值: None
description
str

提供此 Web 服务的说明

默认值: None
models

要与更新的服务一起打包的 Model 对象列表

默认值: None
inference_config

用于提供所需模型部署属性的 InferenceConfig 对象。

默认值: None
gpu_cores
int

要为此 Web 服务分配的 gpu 核心数

默认值: None
period_seconds
int

执行运行情况探测的频率(秒)。 默认值为 10 秒。 最小值为 1。

默认值: None
initial_delay_seconds
int

启动生存情况探测之前容器启动后的秒数。

默认值: None
timeout_seconds
int

运行情况探测超时的秒数。默认值为 1 秒。 最小值为 1。

默认值: None
success_threshold
int

运行情况探测失败后,将其视为成功所需的最小连续成功次数。 默认值为 1。 最小值为 1。

默认值: None
failure_threshold
int

当 Pod 启动而运行情况探测失败时,Kubernetes 将尝试 failureThreshold 次才会放弃。 默认值为 3。 最小值为 1。

默认值: None
namespace
str

要在其中部署此 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=。

例外

类型 说明