App Engine上に、App Engine独自のデータストアではなくバックエンドデータベースとしてCloud SQLを使用するアプリケーションを作成したいとします。 JOIN)。App Engine上でGoogle Cloud SQLで使用するweb2pyのDALをインポートします。
クラウドSQLにはDB-APIがあるため、クラウドデータベースを簡単に操作するための軽量なデータ抽象化レイヤ(DAL)を探していました。少しの研究で、web2pyはCloud SQLと互換性のあるきちんとしたDALを持っていることが明らかになりました。
私は実際には全体のフルスタックのweb2pyのフレームワークを必要としないので、私はdal.pyは、簡単なテストアプリケーションのメインディレクトリに/グルーオンフォルダからファイルをコピーして、私のアプリでは、この行を含める:
from dal import DAL, Field
db=DAL('google:sql://myproject:myinstance/mydatabase')
ただし、このアプリケーションをデプロイして実行しようとするとエラーが発生しました。
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__
handler.get(*groups)
File "/base/data/home/apps/jarod-helloworld/2.357593994022416181/helloworld2.py", line 13, in get
db=DAL('google:sql://serangoon213home:rainman001/guestbook')
File "/base/data/home/apps/jarod-helloworld/2.357593994022416181/dal.py", line 5969, in __init__
raise RuntimeError, "Failure to connect, tried %d times:\n%s" % (attempts, tb)
RuntimeError: Failure to connect, tried 5 times:
Traceback (most recent call last):
File "/base/data/home/apps/jarod-helloworld/2.357593994022416181/dal.py", line 5956, in __init__
self._adapter = ADAPTERS[self._dbname](*args)
File "/base/data/home/apps/jarod-helloworld/2.357593994022416181/dal.py", line 3310, in __init__
self.folder = folder or '$HOME/'+thread.folder.split('/applications/',1)[1]
File "/base/python_runtime/python_dist/lib/python2.5/_threading_local.py", line 199, in __getattribute__
return object.__getattribute__(self, name)
AttributeError: 'local' object has no attribute 'folder'
それはそれは声明で割り当てられた「フォルダ」属性でエラーによるものであったようなことになります
self.folder = folder or '$HOME/'+thread.folder.split('/applications/',1)[1]
は、誰もがこの属性が何を知っていて、私はこの問題を解決する方法?