Google App Engine の柔軟な Python 3 環境と Cloud Datastoreを試しています。ローカルでテストする場合、これは (一般的に) Gunicorn などでアプリを実行し、 から Datastore API にアクセスすることを要求しますgcloud.datastore
。例えば:
import gcloud.datastore as g_datastore
ds = g_datastore.Client(...)
entity = datastore.Entity(key=ds.key(...))
ds.put(entity)
ローカルで (開発モードで) 実行すると、エンティティの状態は実行間で保持されます。私の人生では、それらがどこに保存されているのか、または作成/アクセス後に作成された開発データストアをクリアする方法を理解できませんgcloud.datastore.Client
。私が知る限り、ndb
経由で実行するときに使用する場所と同じ場所は使用しませんdev_appserver.py
。
私はこのようなものでそれを理解しようとしました(OS Xを実行している場合):
$ touch foo
$ GCLOUD_PROJECT=... python .../main.py
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: ...
127.0.0.1 - - [04/Jul/2016 10:36:01] "GET / HTTP/1.1" 200 -
...
^C
$ sudo find /private/tmp /var/db /var/tmp ~/.config/gcloud ~/Library -newer foo
...
# nothing meaningful
ソースコードを調べてみたところ、次のような単体テストのクリーンアップコードが見つかりましたpip install gcloud
。そして(私にとってはもっと重要です)b)そのものが実際にどこに保存されているかについての手がかりを与えません。
Gunicornの実行中にこれを試してみました:
$ sudo lsof | grep -Ei 'python'
# nothing meaningful
gcloud.datastore
ローカルで (開発モードで) 実行する場合、foo は実行間の状態をどこに保存しますか?!