AksEndpoint 类

注意

这是一个试验性的类,随时可能更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

表示在 Azure Kubernetes 服务上运行的同一终结点后面的 Web 服务版本的集合。

虽然 AksWebservice 使用一个评分终结点来部署一个服务,但 AksEndpoint 类可让你在同一评分终结点后面部署多个 Web 服务版本。 可以将每个 Web 服务版本配置为提供一定百分比的流量,以便以受控方式部署模型,例如用于 A/B 测试。 AksEndpoint 允许从类似于 AksWebservice 的模型对象进行部署。

初始化 Web 服务实例。

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

继承
AksEndpoint

构造函数

AksEndpoint(workspace, name)

参数

workspace
Workspace
必需

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

name
str
必需

要检索的 Webservice 对象的名称。

变量

versions
dict[str, AksWebservice]

版本名称和版本对象对的字典。 包含部署为此终结点的一部分的所有版本。

方法

create_version

使用提供的属性在终结点中添加新版本。

delete_version

删除终结点中的版本。

deploy_configuration

创建配置对象以部署到 AKS 计算目标。

serialize

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

update

使用提供的属性更新终结点。

在此终结点中,保留为 None 的值将保持不变

update_version

使用提供的属性更新终结点中的现有版本。

在此版本中,保留为 None 的值将保持不变。

create_version

使用提供的属性在终结点中添加新版本。

create_version(version_name, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, cpu_cores=None, memory_gb=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, traffic_percentile=None, is_default=None, is_control_version_type=None, cpu_cores_limit=None, memory_gb_limit=None)

参数

version_name
str
必需

要在终结点中添加的版本的名称。

autoscale_enabled
bool
默认值: None

是否在终结点中为此版本启用自动缩放。 如果 num_replicas 为 None,则默认值为 True。

autoscale_min_replicas
int
默认值: None

在终结点中自动缩放此版本时使用的最小容器数。 默认值为 1

autoscale_max_replicas
int
默认值: None

在终结点中自动缩放此版本时使用的最大容器数。 默认值为 10

autoscale_refresh_seconds
int
默认值: None

自动缩放程序应在终结点中尝试缩放此版本的频率。 默认值为 1

autoscale_target_utilization
int
默认值: None

自动缩放程序应尝试在终结点中为此版本维持的目标利用率(低于 100%)。 默认值为 70

collect_model_data
bool
默认值: None

是否在终结点中为此版本启用模型数据收集。 默认为 False

cpu_cores
float
默认值: None

在终结点中为此版本分配的 CPU 核心数。 可以是小数。 默认值为 0.1

memory_gb
float
默认值: None

在终结点中为此版本分配的内存量 (GB)。 可以是小数。 默认值为 0.5

scoring_timeout_ms
int
默认值: None

对终结点中此版本的评分调用强制实施的超时。 默认值为 60000。

replica_max_concurrent_requests
int
默认值: None

允许对终结点中此版本使用的每个副本的最大并发请求数。 默认值为 1。 除非获得 Microsoft 技术支持人员或 Azure 机器学习团队成员的指导,否则不要更改此设置的默认值 1。

max_request_wait_time
int
默认值: None

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

num_replicas
int
默认值: None

在终结点中为此版本分配的容器数。 无默认值,如果未设置此参数,则默认启用自动缩放程序。

tags
dict[str, str]
默认值: None

为此终结点指定的键值标记字典。

properties
dict[str, str]
默认值: None

为此终结点指定的键值属性字典。 这些属性在部署后无法更改,但是可以添加新的键值对。

description
str
默认值: None

为此终结点指定的说明。

models
list[Model]
默认值: None

要与已更新的服务一起打包的模型对象的列表。

inference_config
InferenceConfig
默认值: None

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

gpu_cores
int
默认值: None

在终结点中为此版本分配的 GPU 核心数。 默认值为 0。

period_seconds
int
默认值: None

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

initial_delay_seconds
int
默认值: None

启动容器后,启动运行情况探测前的秒数。 默认值为 310。

timeout_seconds
int
默认值: None

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

success_threshold
int
默认值: None

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

failure_threshold
int
默认值: None

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

traffic_percentile
float
默认值: None

版本在终结点中接收的流量。

is_default
bool
默认值: None

是否将此版本设置为终结点中的默认版本。 默认为 False。

is_control_version_type
bool
默认值: None

是否将此版本设置为终结点中的控制版本。 默认为 False。

cpu_cores_limit
float
默认值: None

允许此 Webservice 使用的最大 CPU 核心数。 可以是小数。

memory_gb_limit
float
默认值: None

允许此 Webservice 使用的最大内存量 (GB)。 可以是小数。

例外

delete_version

删除终结点中的版本。

delete_version(version_name)

参数

version_name
str
必需

终结点中要删除的版本的名称。

例外

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, version_name=None, traffic_percentile=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None)

参数

autoscale_enabled
bool
默认值: None

是否在终结点中为此版本启用自动缩放。 如果 num_replicas 为 None,则默认值为 True。

autoscale_min_replicas
int
默认值: None

在终结点中自动缩放此版本时使用的最小容器数。 默认值为 1。

autoscale_max_replicas
int
默认值: None

在终结点中自动缩放此版本时使用的最大容器数。 默认值为 10。

autoscale_refresh_seconds
int
默认值: None

自动缩放程序应在终结点中尝试缩放此版本的频率。 默认值为 1。

autoscale_target_utilization
int
默认值: None

自动缩放程序应尝试在终结点中为此版本维持的目标利用率(低于 100%)。 默认值为 70。

collect_model_data
bool
默认值: None

是否在终结点中为此版本启用模型数据收集。 默认为 False。

auth_enabled
bool
默认值: None

是否在终结点中为此版本启用密钥身份验证。 默认值为 true。

cpu_cores
float
默认值: None

在终结点中为此版本分配的 CPU 核心数。 可以是小数。 默认值为 0.1

memory_gb
float
默认值: None

在终结点中为此版本分配的内存量 (GB)。 可以是小数。 默认值为 0.5

enable_app_insights
bool
默认值: None

是否在终结点中为此版本启用 ApplicationInsights 日志记录。 默认为 False。

scoring_timeout_ms
int
默认值: None

对终结点中此版本的评分调用强制实施的超时。 默认值为 60000

replica_max_concurrent_requests
int
默认值: None

允许对终结点中此版本使用的每个副本的最大并发请求数。 默认值为 1。 除非获得 Microsoft 技术支持人员或 Azure 机器学习团队成员的指导,否则不要更改此设置的默认值 1。

max_request_wait_time
int
默认值: None

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

num_replicas
int
默认值: None

在终结点中为此版本分配的容器数。 无默认值,如果未设置此参数,则默认启用自动缩放程序。

primary_key
str
默认值: None

要用于此终结点的主要身份验证密钥。

secondary_key
str
默认值: None

要用于此终结点的辅助身份验证密钥。

tags
dict[str, str]
默认值: None

为此终结点指定的键值标记字典。

properties
dict[str, str]
默认值: None

为此终结点指定的键值属性字典。 这些属性在部署后无法更改,但可以添加新的键值对

description
str
默认值: None

为此终结点指定的说明。

gpu_cores
int
默认值: None

在终结点中为此版本分配的 GPU 核心数。 默认值为 0。

period_seconds
int
默认值: None

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

initial_delay_seconds
int
默认值: None

启动容器后,启动运行情况探测前的秒数。 默认值为 310。

timeout_seconds
int
默认值: None

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

success_threshold
int
默认值: None

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

failure_threshold
int
默认值: None

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

namespace
str
默认值: None

要在其中部署此终结点的 Kubernetes 命名空间:最多 63 个小写字母数字(“a”-“z”、“0”-“9”)和连字符(“-”)。 第一个和最后一个字符不能为连字符。

token_auth_enabled
bool
默认值: None

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

version_name
str
默认值: None

终结点中版本的名称。

traffic_percentile
float
默认值: None

版本在终结点中接收的流量。

compute_target_name
str
默认值: None

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

cpu_cores_limit
float
默认值: None

允许此 Webservice 使用的最大 CPU 核心数。 可以是小数。

memory_gb_limit
float
默认值: None

允许此 Webservice 使用的最大内存量 (GB)。 可以是小数。

返回类型

例外

serialize

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

serialize()

返回

此 Web 服务的 JSON 表示形式。

返回类型

例外

update

使用提供的属性更新终结点。

在此终结点中,保留为 None 的值将保持不变

update(auth_enabled=None, token_auth_enabled=None, enable_app_insights=None, description=None, tags=None, properties=None)

参数

auth_enabled
bool
默认值: None

是否在终结点中为此版本启用密钥身份验证。 默认值为 true。

token_auth_enabled
bool
默认值: None

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

enable_app_insights
bool
默认值: None

是否在终结点中为此版本启用 Application Insights 日志记录。 默认为 False。

description
str
默认值: None

为此终结点指定的说明。

tags
dict[str, str]
默认值: None

为此终结点指定的键值标记字典。

properties
dict[str, str]
默认值: None

为此终结点指定的键值属性字典。 这些属性在部署后无法更改,但是可以添加新的键值对。

例外

update_version

使用提供的属性更新终结点中的现有版本。

在此版本中,保留为 None 的值将保持不变。

update_version(version_name, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, cpu_cores=None, memory_gb=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, traffic_percentile=None, is_default=None, is_control_version_type=None, cpu_cores_limit=None, memory_gb_limit=None)

参数

version_name
str
必需

终结点中版本的名称。

autoscale_enabled
bool
默认值: None

是否在终结点中为此版本启用自动缩放。 如果 num_replicas 为 None,则默认值为 True。

autoscale_min_replicas
int
默认值: None

在终结点中自动缩放此版本时使用的最小容器数。 默认值为 1。

autoscale_max_replicas
int
默认值: None

在终结点中自动缩放此版本时使用的最大容器数。 默认值为 10。

autoscale_refresh_seconds
int
默认值: None

自动缩放程序应在终结点中尝试缩放此版本的频率。 默认值为 1

autoscale_target_utilization
int
默认值: None

自动缩放程序应尝试在终结点中为此版本维持的目标利用率(低于 100%)。 默认值为 70。

collect_model_data
bool
默认值: None

是否在终结点中为此版本启用模型数据收集。 默认为 False。

cpu_cores
float
默认值: None

在终结点中为此版本分配的 CPU 核心数。 可以是小数。 默认值为 0.1

memory_gb
float
默认值: None

在终结点中为此版本分配的内存量 (GB)。 可以是小数。 默认值为 0.5

scoring_timeout_ms
int
默认值: None

对终结点中此版本的评分调用强制实施的超时。 默认值为 60000。

replica_max_concurrent_requests
int
默认值: None

允许对终结点中此版本使用的每个副本的最大并发请求数。 默认值为 1。 除非获得 Microsoft 技术支持人员或 Azure 机器学习团队成员的指导,否则不要更改此设置的默认值 1。

max_request_wait_time
int
默认值: None

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

num_replicas
int
默认值: None

在终结点中为此版本分配的容器数。 无默认值,如果未设置此参数,则默认启用自动缩放程序。

tags
dict[str, str]
默认值: None

为此终结点指定的键值标记字典。

properties
dict[str, str]
默认值: None

为此终结点指定的键值属性字典。 这些属性在部署后无法更改,但是可以添加新的键值对。

description
str
默认值: None

为此终结点指定的说明

models
list[Model]
默认值: None

要与已更新的服务一起打包的模型对象的列表

inference_config
InferenceConfig
默认值: None

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

gpu_cores
int
默认值: None

在终结点中为此版本分配的 GPU 核心数。 默认值为 0。

period_seconds
int
默认值: None

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

initial_delay_seconds
int
默认值: None

启动容器后,启动运行情况探测前的秒数。 默认值为 310。

timeout_seconds
int
默认值: None

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

success_threshold
int
默认值: None

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

failure_threshold
int
默认值: None

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

traffic_percentile
float
默认值: None

版本在终结点中接收的流量。

is_default
bool
默认值: None

是否将此版本设置为终结点中的默认版本。 默认为 False。

is_control_version_type
bool
默认值: None

是否将此版本设置为终结点中的控制版本。 默认为 False。

cpu_cores_limit
float
默认值: None

允许此 Webservice 使用的最大 CPU 核心数。 可以是小数。

memory_gb_limit
float
默认值: None

允许此 Webservice 使用的最大内存量 (GB)。 可以是小数。

例外