我很新的GCP作为一个整体,我需要部署一个应用程序瓶与客户端的项目。 部署一个应用程序是很简单的给所有谷歌已经提供的文档,并且因为使用了灵活的应用程序引擎好像做最简单的方法,那就是我试图使用。
我有虽然问题是在试图连接到这是在计算引擎设置一个MSSQL数据库。 到目前为止,我已经连接到数据库在本地使用pyodbc
与一些帮助连接到MSSQL数据库使用烧瓶SQLAlchemy的 。
我确信运行gcloud app deploy
是行不通的,果然无法安装pyodbc
模块。 我想,那会不会是去反正方式,并根据该文档的这个页面 ,好像我应该能够通过其内部的IP地址连接到计算引擎。
我不知道如何从这里虽然出发,因为一切都在文档希望我使用Cloud SQL执行个体,但鉴于这个数据是由客户提供,我的工作对他们的GCP项目,我是位仅限于我上面描述的场景。
这已经得到了解决。
问题是,有下载的服务器上没有ODBC驱动程序,所以我需要以先安装驱动程序,以创建一个Dockerfile一个自定义运行时。
我的解决方案在很大程度上受到该解决方案的帮助: 泊坞窗蟒蛇连接到SQL Server与pyodbc
步骤如下:
运行gcloud beta app gen-config --custom
在烧瓶应用程序的目录。
里面现在已经创建Dockerfile的,在安装PIP要求之前,添加这些行。
#Install FreeTDS and dependencies for PyODBC
RUN apt-get update
RUN apt-get install -y tdsodbc unixodbc-dev
RUN apt install unixodbc-bin -y
RUN apt-get clean -y
ADD odbcinst.ini /etc/odbcinst.ini
该文件ODBCINST.INI应包含以下几行:
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
此后gcloud app deploy
应该只是罚款。
文章来源: Flask-SQLAlchemy on App Engine connect to MSSQL database on Cloud Compute Engine using