在 Azure 上注册模型时出现"证书验证失败"错误



今天,我想在 Azure 工作空间上注册新模型时遇到错误。此错误以前从未发生过!我唯一的变化是模型本身,但代码是相同的:

from azureml.core import Workspace
from azureml.core.compute import AksCompute, ComputeTarget
from azureml.core.webservice import Webservice, AksWebservice
from azureml.core.image import Image
from azureml.core.model import Model
import azureml.core
from azureml.core.workspace import Workspace
from azureml.core.model import Model
ws = Workspace.from_config()
model_reg = Model.register(model_path = "./outputs/model_final",
                       model_name = "ModelX",
                       tags = {'area': "XXX", 'type': "deep"},
                       description = "Model 1",
                       workspace = ws)

这是我得到的错误:

raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='xxx
.blob.core.windows.net', port=443): Max retries exceeded with url: /azureml/Loca
lUpload/190530T093046-fc5a89ca/tfModel.tar.gz?sv=2018-03-28&sr=b&sig=9FFnsaefR9w
PkR%2FvsMlnQYrA2wlnJG7Cu%2BP9%2FePPZEY%3D&st=2019-05-30T08%3A20%3A46Z&se=2019-05
-31T08%3A30%3A46Z&sp=rcw&comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURB
d01EQXdNREF3TURBd01EQSUzRA%3D%3D (Caused by SSLError(SSLError("bad handshake: Er
ror([('SSL routines', 'tls_process_server_certificate', 'certificate verify fail
ed')],)",),))

我尝试更新所有python软件包,甚至创建一个新的conda env并全新安装所有软件包,但仍然收到此错误。

有什么帮助或类似的经验吗?

作为参考,可能有两个原因导致此问题。

  1. 网络问题。运行此 Python 脚本的网络环境已更改。现在脚本可能通过像 Fiddler 这样的代理运行,该代理不支持或启用 SSL/TLS 功能,或者网络中的某些 IP 限制导致它像 SO 线程 SSL 证书错误一样,同时通过 python 执行请求。

  2. 目标站点已升级 SSL 版本。你可以按照SO线程答案Django paypalrestsdk错误 - OpenSSL.SSL.Error:[('SSL routines', 'tls_process_server_certificate', 'Certificate verification failed'(]来检查。

希望对您有所帮助。

最新更新