【发布时间】:2021-07-16 18:54:57
【问题描述】:
我有一个简单的测试脚本,以确保我可以使用 GCF 连接到 Google Cloud SQL 实例并进行读/写。
def update_db(request):
import sqlalchemy
# connect to GCP SQL db
user = 'root'
pw = 'XXX'
conn_name = 'hb-project-319121:us-east4:hb-data'
db_name = 'Homebase'
url = 'mysql+pymysql://{}:{}@/{}?unix_socket=/cloudsql/{}'.format(user,pw,db_name,conn_name)
engine = sqlalchemy.create_engine(url,pool_size=1,max_overflow=0)
# Returns
return f'Success'
这是成功的,但是当我尝试添加连接时:
conn = engine.connect()
我收到以下错误:
pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'cloudsqlproxy~' (using password: YES)")
可以创建引擎但无法与之建立连接似乎很奇怪?值得注意的是,任何类型的 execute 使用引擎,例如engine.execute('select * from table limit 3')也会导致上面的错误。
感谢任何想法。感谢您的宝贵时间
干杯, 戴夫
【问题讨论】:
-
哪些 IAM 角色分配给 Cloud Functions 服务帐号?
标签: python google-cloud-platform sqlalchemy google-cloud-functions