在App Engine和Cloud SQL之间的流量传输是通过Google内部网络进行的。
以下是一个使用Python的App Engine示例代码,演示如何连接到Cloud SQL数据库:
import os
import pymysql
# 获取Cloud SQL连接信息
connection_name = os.environ.get('CLOUD_SQL_CONNECTION_NAME')
db_user = os.environ.get('DB_USER')
db_password = os.environ.get('DB_PASSWORD')
db_name = os.environ.get('DB_NAME')
# 创建Cloud SQL连接
unix_socket = '/cloudsql/{}'.format(connection_name)
conn = pymysql.connect(
user=db_user,
password=db_password,
unix_socket=unix_socket,
db=db_name
)
# 执行SQL查询
with conn.cursor() as cursor:
cursor.execute('SELECT * FROM my_table')
results = cursor.fetchall()
# 打印查询结果
for row in results:
print(row)
在上面的代码中,connection_name
是Cloud SQL实例的连接名称,可以在Google Cloud控制台中找到。db_user
和db_password
是连接到数据库所需的凭据。db_name
是要连接的数据库名称。
需要确保在App Engine的app.yaml
文件中设置了正确的环境变量:
env_variables:
CLOUD_SQL_CONNECTION_NAME:
DB_USER:
DB_PASSWORD:
DB_NAME:
将上述代码和app.yaml
文件部署到App Engine后,它将通过Google内部网络连接到Cloud SQL数据库,而不是通过互联网传输流量。