AciWebservice 类

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

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

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

继承
AciWebservice

构造函数

AciWebservice(workspace, name)

参数

workspace
name

注解

建议的部署模式是使用 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)

完整示例可从 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-cloud/model-register-and-deploy.ipynb 获取

有多种方法可以将模型部署为 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 对象。

返回类型