首页 > 解决方案 > SSLError:在 Azure 上注册 ML 模型时出现 HTTPSConnectionPool

问题描述

请在 VNET 中有我的 Databricks 实例。我正在尝试使用 Azure 容器实例 (ACI) 上的 Azure ML 工作区部署我的机器学习模型。

我能够创建一个 ML 工作区。当我尝试使用 Model.register() 注册模型时出现 SSLERROR。

使用此代码 -

from azureml.core import Workspace
from azureml.core.model import Model
import azureml.core
from azureml.core.workspace import Workspace
from azureml.core.model import Model

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               location='eastus'
               )

model_reg = Model.register(model_path = “./model_dir”,
                       model_name = "ModelX",
                      workspace = ws)

当我尝试部署我的模型时,在错误下方找到。

  SSL 错误:

SSLError: HTTPSConnectionPool(host='eastus.experiments.azureml.net', port=443): Max retries exceeded with url: /discovery (Caused by SSLError(SSLError("bad handshake: SysCallError(104, 'ECONNRESET')")))
 

请注意,只有 Azure Databricks 位于 Azure 上的 VNET 中。如何解决它并将我的模型部署为 ACI 上的 Web 服务。

谢谢你。

标签: azuressl-certificateazure-databricksazure-machine-learning-serviceazure-machine-learning-workbench

解决方案


编辑这是我发现的一些指导,说明如何将 Azure ML 服务与位于虚拟网络内的 Azure DataBricks 群集一起使用:

若要在工作区的虚拟网络中使用 Azure Databricks,必须满足以下要求:

  • 虚拟网络必须与 Azure 机器学习工作区位于同一订阅和区域中。
  • 如果工作区的 Azure 存储帐户也在虚拟网络中受到保护,则它们必须与 Azure Databricks 群集位于同一虚拟网络中。
  • 除了Azure Databricks 使用的databricks-private和使用的之外,还需要为虚拟网络创建的子网。databricks-public subnetsdefault

有关将 Azure Databricks 与虚拟网络结合使用的具体信息,请参阅在 Azure 虚拟网络中部署 Azure Databricks。

仍然可能是一个错误——我看到你已经报告了产品团队可以查看的错误。同时,您是否尝试过在本地调试?本指南很好地完成了常见故障模式的运行。


推荐阅读