AksEndpoint 类

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

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

继承
AksEndpoint

构造函数

AksEndpoint(workspace, name)

参数

workspace
name

变量

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)。 可以是小数。

例外