Python 2.7 AppEngine アプリケーションで remote_api スタブをセットアップして、localhost デバッガーと組み合わせてデータストア アクセスを使用しようとしています (実際のデータを使用してアプリをテストします)。さて、この AppEngine Remote API 記事のチュートリアルに従って、次のコードを思いつきました (アプリケーションの REST ハンドラーから):
from google.appengine.ext.remote_api import remote_api_stub
from model import MyExpandoObject
# This returns my credentials
def auth_func():
return ("me@gmail.com", "mypassword")
# TODO This too
def get(w_self):
# Connect remote api in identical way to example docs:
remote_api_stub.ConfigureRemoteApi(None, '/_ah/remote_api', auth_func,'bsl-dm-hrd.appspot.com')
# This calls the database (breakpoint here)
t_entity = MyExpandoObject.get_by_key_name('akey')
コードを実行すると、スタブの構成がパスします。次に、データベースを呼び出すと、デバッガーで次のエラーが発生します。
BadRequestError: アプリ s~myapp はアプリ dev~myapp のデータにアクセスできません
これは、修正する必要があるエラーだと思います。これが HRD アプリケーションであることを示す s~ は、アプリ ID の一部として適切に報告されることに注意してください。私も含めました
builtins:
- remote_api: on
app.yaml のディレクティブ。
私の質問は、なぜこのエラーが発生するのですか? これは文字通り、remote_api の記事から抜粋したサンプル コードです。念のため、AppEngine SDK にバンドルされている remote_api_shell.py を介して remote_api 接続も試してみましたが、データストアに接続し、モデルをインポートし、データベース呼び出しを実行することができました。なぜこれが失敗するのか、私は困惑しています。