AciWebservice 类

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

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

有关详细信息,请参阅将模型部署到 Azure 容器实例

初始化 Webservice 实例。

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

继承
AciWebservice

构造函数

AciWebservice(workspace, name)

参数

workspace
Workspace
必需

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

name
str
必需

要检索的 Webservice 对象的名称。

注解

建议的部署模式是使用 deploy_configuration 方法创建部署配置对象,然后将该对象与 Model 类的 deploy 方法一起使用,如下所示。


   from azureml.core.model import InferenceConfig
   from azureml.core.webservice import AciWebservice


   service_name = 'my-custom-env-service'

   inference_config = InferenceConfig(entry_script='score.py', environment=environment)
   aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)

   service = Model.deploy(workspace=ws,
                          name=service_name,
                          models=[model],
                          inference_config=inference_config,
                          deployment_config=aci_config,
                          overwrite=True)
   service.wait_for_deployment(show_output=True)

有多种方法可以将模型部署为 webservice,包括:

  • 已在工作区中注册的模型的 Modeldeploy 方法。

  • Webservicedeploy_from_image 方法。

  • 已在工作区中注册的模型的 Webservicedeploy_from_model 方法。 此方法将创建映像。

  • Webservicedeploy 方法,它将注册模型并创建映像。

有关使用 webservice 的信息,请参阅

“变量”部分列出了云 AciWebservice 对象的本地表示形式的属性。 应将这些变量视为只读。 更改其值不会反映在对应的云对象中。

变量

enable_app_insights
bool

是否为 Webservice 启用了 AppInsights 日志记录。

cname
str

Webservice 的 cname。

container_resource_requirements
ContainerResourceRequirements

Webservice 的容器资源要求。

encryption_properties
EncryptionProperties

Webservice 的加密属性。

vnet_configuration
VnetConfiguration

Webservice 的虚拟网络属性,应由用户创建和提供配置。

azureml.core.webservice.AciWebservice.location
str

将 Webservice 部署到的位置。

public_ip
str

Webservice 的 公共 IP 地址。

azureml.core.webservice.AciWebservice.scoring_uri
str

Webservice 的评分终结点

ssl_enabled
bool

是否为 Webservice 启用 SSL

public_fqdn
str

Webservice 的公共 FQDN

environment
Environment

用于创建 Webservice 的环境对象

azureml.core.webservice.AciWebservice.models
list[Model]

部署到 Webservice 的模型的列表

azureml.core.webservice.AciWebservice.swagger_uri
str

Webservice 的 swagger 终结点

方法

add_properties

将键值对添加到此 Webservice 的属性字典。

add_tags

将键值对添加到此 Webservice 的属性字典。

deploy_configuration

创建用于部署 AciWebservice 的配置对象。

get_token

检索此 Webservice 的身份验证令牌,范围为当前用户。

注意

未实现。

remove_tags

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

run

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

serialize

将此 Webservice 转换为 JSON 序列化字典。

update

使用提供的属性更新 Webservice。

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

add_properties

将键值对添加到此 Webservice 的属性字典。

add_properties(properties)

参数

properties
dict[str, str]
必需

要添加的属性字典。

add_tags

将键值对添加到此 Webservice 的属性字典。

add_tags(tags)

参数

tags
dict[str, str]
必需

要添加的标记字典。

例外

deploy_configuration

创建用于部署 AciWebservice 的配置对象。

static deploy_configuration(cpu_cores=None, memory_gb=None, tags=None, properties=None, description=None, location=None, auth_enabled=None, ssl_enabled=None, enable_app_insights=None, ssl_cert_pem_file=None, ssl_key_pem_file=None, ssl_cname=None, dns_name_label=None, primary_key=None, secondary_key=None, collect_model_data=None, cmk_vault_base_url=None, cmk_key_name=None, cmk_key_version=None, vnet_name=None, subnet_name=None)

参数

cpu_cores
float
默认值: None

要分配给此 Webservice 的 CPU 核心数。 可以是小数。 默认值为 0.1

memory_gb
float
默认值: None

为此 Webservice 分配的内存量 (GB)。 可以是小数。 默认值为 0.5

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

提供此 Webservice 的键值标签字典。

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

提供此 Webservice 的键值属性字典。 这些属性在部署后无法更改,但是可以添加新的键值对。

description
str
默认值: None

提供此 Webservice 的说明。

location
str
默认值: None

要将此 Webservice 部署到的 Azure 区域。 如果未指定,将使用工作区位置。 有关可用区域的更多详细信息,请参阅产品(按区域)

auth_enabled
bool
默认值: None

是否为此 Webservice 启用身份验证。 默认为 False。

ssl_enabled
bool
默认值: None

是否为此 Webservice 启用 SSL。 默认为 False。

enable_app_insights
bool
默认值: None

是否为此 Webservice 启用 AppInsights。 默认为 False。

ssl_cert_pem_file
str
默认值: None

如果启用 SSL,则需要证书文件。

ssl_key_pem_file
str
默认值: None

如果启用 SSL,则需要密钥文件。

ssl_cname
str
默认值: None

启用 SSL 时的 cname。

dns_name_label
str
默认值: None

评分终结点的 DNS 名称标签。 如果未指定,则将为评分终结点生成唯一的 DNS 名称标签。

primary_key
str
默认值: None

要用于此 Webservice 的主要身份验证密钥。

secondary_key
str
默认值: None

要用于此 Webservice 的辅助身份验证密钥。

collect_model_data
bool
默认值: None

是否为 Webservice 启用模型数据收集。

cmk_vault_base_url
str
默认值: None

客户管理的密钥保管库基 URL

cmk_key_name
str
默认值: None

客户管理的密钥名称。

cmk_key_version
str
默认值: None

客户管理的密钥版本。

vnet_name
str
默认值: None

虚拟网络名称。

subnet_name
str
默认值: None

虚拟网络中的子网名称。

返回

部署 Webservice 对象时要使用的配置对象。

返回类型

例外

get_token

检索此 Webservice 的身份验证令牌,范围为当前用户。

注意

未实现。

get_token()

返回

此 Webservice 的身份验证令牌,以及应该刷新此令牌的时间。

返回类型

例外

azureml.exceptions.NotImplementedError

remove_tags

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

remove_tags(tags)

参数

tags
list[str]
必需

要删除的键的列表。

run

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

run(input_data)

参数

input_data
<xref:varies>
必需

用于调用 Web 服务的输入。

返回

调用 Web 服务的结果。

返回类型

例外

serialize

将此 Webservice 转换为 JSON 序列化字典。

serialize()

返回

此 Webservice 对象的 JSON 表示形式。

返回类型

update

使用提供的属性更新 Webservice。

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

update(image=None, tags=None, properties=None, description=None, auth_enabled=None, ssl_enabled=None, ssl_cert_pem_file=None, ssl_key_pem_file=None, ssl_cname=None, enable_app_insights=None, models=None, inference_config=None)

参数

image
Image
默认值: None

要部署到 Webservice 的新映像。

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

提供此 Webservice 的键值标签字典。 将替换现有标记。

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

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

description
str
默认值: None

提供此 Webservice 的说明。

auth_enabled
bool
默认值: None

是否为此 Webservice 启用身份验证。

ssl_enabled
bool
默认值: None

是否为此 Webservice 启用 SSL。

ssl_cert_pem_file
str
默认值: None

如果启用 SSL,则需要证书文件。

ssl_key_pem_file
str
默认值: None

如果启用 SSL,则需要密钥文件。

ssl_cname
str
默认值: None

启用 SSL 时的 cname。

enable_app_insights
bool
默认值: None

是否为此 Webservice 启用 AppInsights。

models
list[Model]
默认值: None

要打包到已更新服务中的模型对象的列表。

inference_config
InferenceConfig
默认值: None

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

返回类型