我一直在尝试将在Google App Engine上运行的Python应用程序与在IBM Cloud上运行的External MySQL db连接起来。相同的代码在localhost上运行完全正常,但是,当我在App Engine上运行该代码时,它将响应502 BAD GATEWAY错误。有什么办法建立这个?
下面是我一直在尝试的简单代码
import pymysql.cursors
# Connect to the database.
connection = pymysql.connect(host='XXXXXXX',
database='XXX',
user='XXX',
password='XXXX',
port=XXX)
print ("connect successful!!")
try:
with connection.cursor() as cursor:
# SQL
sql = "SELECT * from songs "
# Execute query.
cursor.execute(sql)
print ("cursor.description: ", cursor.description)
print()
for row in cursor:
print(row)
finally:
# Close connection.
connection.close()
以下是我在Google Cloud Logs中遇到的错误
这是一个标准环境
_------------------------------------------------- --------------------------
from flask import Flask, jsonify, request
import pymysql.cursors
app = Flask(_name_)
# Annotation that direct app engine to / route.
@app.route('/')
def home():
connection = pymysql.connect(host='XXXXXX',
database='XXXX',
user='XXXX',
password='XXXXX',
port=XXXX,
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
print ("connect successful!!")
try:
with connection.cursor() as cursor:
# SQL
sql = "select * from songs"
# Execute query.
cursor.execute(sql)
print ("cursor.description: ", cursor.description)
print()
for row in cursor:
print(row)
finally:
# Close connection.
connection.close()
return "Connection Sucessful"
if _name_ == '_main_':
# This is used when running locally. Gunicorn is used to run the
# application on Google App Engine. See entry point in app.yaml.
app.run()
在此,只有在检查name =' main '时未从其他模块导入的代码中,该代码才会运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句