Jac*_*oon 5 google-cloud-sql google-cloud-platform cloud-sql-proxy
使用 Python 连接到 Cloud SQL 并不总是那么简单。
根据上下文,有时您必须连接到 Unix 域套接字、将 TCP 连接的 IP 地址列入允许列表、在本地运行 Cloud SQL Auth 代理。确保这些连接安全是另一个挑战:您可能必须管理 SSL 证书、防火墙规则、IP 地址等。
是否有推荐的方法使用 Python以安全且简单的方式连接到 Cloud SQL ?
Jac*_*oon 10
是的,确实有Cloud SQL Python Connector,这是一个 Python 包,可以让所有三个受支持的数据库引擎(Postgres、MySQL 和 SQL Server)从任何地方(本地计算机、Cloud Run、应用程序)轻松安全地连接到 Cloud SQL引擎、云功能等)
\nPython 连接器是 Cloud SQL 连接器库之一(也可在Java、Go和Node中使用)。
\n\n\n连接器与其他方法有何不同?
\n
Cloud SQL 连接器库具有以下优势:
\n\n\n如何使用 Python 连接器...代码是什么样的?
\n
基本用法(使用 SQLAlchemy)
\nfrom google.cloud.sql.connector import Connector, IPTypes\nimport sqlalchemy\n\n# initialize Cloud SQL Connector\nconnector = Connector()\n\n# SQLAlchemy database connection creator function\ndef getconn():\n conn = connector.connect(\n "project:region:instance-name", # Cloud SQL Instance Connection Name\n "pg8000",\n user="my-user",\n password="my-password",\n db="my-db-name",\n ip_type=IPTypes.PUBLIC # IPTypes.PRIVATE for private IP\n )\n return conn\n\n# create SQLAlchemy connection pool\npool = sqlalchemy.create_engine(\n "postgresql+pg8000://",\n creator=getconn,\n)\n\n# interact with Cloud SQL database using connection pool\nwith pool.connect() as db_conn:\n # query database\n result = db_conn.execute("SELECT * from my_table").fetchall()\n\n # Do something with the results\n for row in result:\n print(row)\n\n# close Cloud SQL Connector\nconnector.close()\n
Run Code Online (Sandbox Code Playgroud)\n有交互式“入门”Colab 笔记本,向您展示如何使用 Cloud SQL Python Connector \xe2\x80\x93,而无需您自己编写一行代码!笔记本将根据您与 Cloud SQL 结合使用的数据库引擎自动使用受支持的数据库驱动程序。
\n\n\n它可以与流行的 Web 框架一起使用吗?
\n
是的,Python Connector 可以轻松地在 Web 框架中使用,例如Flask-SQLAlchemy(和 Flask)、FastAPI等。
\n\n 归档时间: |
|
查看次数: |
6643 次 |
最近记录: |