在Azure上注册ML模型时,发生SSLError: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中。如何解决该问题并将我的模型作为Web服务部署到ACI。

谢谢。

解决方法

编辑Here is some guidance我发现了如何将Azure ML服务与虚拟网络内部的Azure DataBricks群集一起使用:

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

  • 虚拟网络必须与Azure Machine Learning工作区位于相同的订阅和区域中。
  • 如果工作空间的Azure存储帐户也在虚拟网络中得到保护,则它们必须与Azure Databricks群集位于同一虚拟网络中。
  • 除了Azure Databricks使用的databricks-privatedatabricks-public subnets,还需要为虚拟网络创建的default子网。

有关在虚拟网络上使用Azure Databricks的特定信息,请参阅在Azure虚拟网络中部署Azure Databricks。

仍然可能是一个错误-我看到您有reported the error,产品团队可以看一下。同时,您是否尝试过在本地调试? This guide很好地完成了常见的故障模式。