gpt4 book ai didi

sql-server - 尝试使用 Azure ML/Docker 镜像查询 Azure SQL 数据库

转载 作者:行者123 更新时间:2023-12-03 02:47:10 25 4
gpt4 key购买 nike

我想在 azure 上实时部署我的模型,因此我计划创建一个图像,该图像首先在 azure SQL 数据库中查询 ID 以获取所需的功能,然后使用我的模型进行预测并返回预测结果。我从 PyODBC 库得到的错误是驱动程序未安装

我在azure ML jupyter笔记本上尝试建立连接,发现环境本身没有安装驱动程序。经过一番研究,我发现我应该创建一个 docker 镜像并将其部署到那里,但我仍然遇到相同的结果

    driver= '{ODBC Driver 13 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password+';Encrypt=yes'+';TrustServerCertificate=no'+';Connection Timeout=30;')

('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 13 for SQL Server' : file not found (0) (SQLDriverConnect)")

我想要查询结果,而不是收到此消息

最佳答案

和/或者您可以使用 pymssql==2.1.1,如果您在部署配置中添加以下 docker 步骤(使用环境或 ContainerImages - 首选环境):

from azureml.core import Environment
from azureml.core.environment import CondaDependencies
conda_dep = CondaDependencies()
conda_dep.add_pip_package('pymssql==2.1.1')
myenv = Environment(name="mssqlenv")
myenv.python.conda_dependencies=conda_dep
myenv.docker.enabled = True
myenv.docker.base_dockerfile = 'FROM mcr.microsoft.com/azureml/base:latest\nRUN apt-get update && apt-get -y install freetds-dev freetds-bin vim gcc'
myenv.docker.base_image = None

或者,如果您使用 ContainerImage 类,则可以添加这些 Docker 步骤

from azureml.core.image import Image, ContainerImage
image_config = ContainerImage.image_configuration(runtime= "python", execution_script="score.py", conda_file="myenv.yml", docker_file="Dockerfile.steps")
# Assuming this :
# RUN apt-get update && apt-get -y install freetds-dev freetds-bin vim gcc
# is in a file called Dockerfile.steps, it should produce the same result.

有关我如何使用估算器步骤和自定义 Docker 容器完成此操作的更多详细信息,请参阅此答案。您可以使用此 Dockerfile 在本地为该 Estimator 步骤创建一个 Docker 容器(如果您只是使用在管道外部运行的 Estimator,则无需执行此操作):

FROM continuumio/miniconda3:4.4.10
RUN apt-get update && apt-get -y install freetds-dev freetds-bin gcc
RUN pip install Cython

有关更多详细信息,请参阅此帖子:using estimator in pipeline with custom docker images 。希望有帮助!

关于sql-server - 尝试使用 Azure ML/Docker 镜像查询 Azure SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58285038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com