2

appengine から google cloud sql を使用していますが、バックエンド インスタンスから頻繁に次のエラーが発生しています。

 File "/base/data/home/apps/s~app-prod/140-backend.363823736662468595/users/reports/__init__.py", line 360, in get_document_types
  cursor.execute('SELECT DISTINCT document_type FROM receipt WHERE ho_key=%s AND document_type IS NOT NULL', (str(ho.key())))
File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 499, in execute
  self._DoExec(request)
File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 375, in _DoExec
  response = self._conn.MakeRequest('Exec', request)
File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 873, in MakeRequest
  response = self._MakeRetriableRequest(stub_method, request)
File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 897, in _MakeRetriableRequest
  response = self.MakeRequestImpl(stub_method, request)
File "/python27_runtime/python27_lib/versions/1/google/storage/speckle/python/api/rdbms_apiproxy.py", line 68, in MakeRequestImpl
  raise OperationalError('could not connect: ' + str(e))

OperationalError: 接続できませんでした: ApplicationError: 1002

他の誰かがこれを経験していますか?

ありがとう

4

1 に答える 1

1

このエラーとスタック トレースは、古い非推奨の google.appengine.api.rdbms インターフェースを使用していることを示しています。

これを、Pythonで App Engine から Cloud SQLに接続する最良の方法として文書化されている MySQLdb モジュールに置き換える必要があります。両方のインターフェースがPEP 249に準拠しているため、一時的な代替品となるはずです。上記の GAE のリンクで説明されているように、 との接続の作成を使用する必要がありますMySQLdb.connect(unix_socket="/cloudsql/project:instance", ...)

于 2015-05-21T23:03:12.793 に答える