1
試圖使用Google App Engine的remote_api
,以便我們可以通過IDE進行逐行調試。使用GAE遠程API從localhost進行調試 - 連接太晚?
遠程API首先運行良好。該應用程序能夠成功從數據庫中檢索信息。 wepapp響應客戶端瀏覽器時發生錯誤。
驗證碼:
它非常類似於App Engine的documentation給出的例子:
from model import My_Entity
from google.appengine.ext.remote_api import remote_api_stub
# Test database calls
def get(w_self):
remote_api_stub.ConfigureRemoteApi(None, '/_ah/remote_api', auth_func, 'myapp.appspot.com')
t_entity = My_Entity.get_by_key_name('the_key')
w_self.response.set_status(200)
# The error occurs AFTER this code executes, when webapp actually responds to the browser
錯誤回溯:
錯誤似乎涉及到Blob存儲區。
遠程API是否被初始化爲代碼太晚?
...在webapp通過localhost服務器與blobstore做了什麼之後?那麼遠程api可能會將請求重定向到服務器中的blobstore,而不是webapp期待它的本地主機調試服務器?
Traceback (most recent call last): File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2795, in _HandleRequest login_url) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3622, in CreateImplicitMatcher get_blob_storage) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_blobstore.py", line 420, in CreateUploadDispatcher return UploadDispatcher() File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_blobstore.py", line 307, in __init__ get_blob_storage()) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_blobstore.py", line 79, in GetBlobStorage return apiproxy_stub_map.apiproxy.GetStub('blobstore').storage AttributeError: 'RemoteStub' object has no attribute 'storage'
遠程api是否應該在代碼的其他地方初始化?
或者這個問題與其他事情有關嗎?
非常感謝!
是否使用您的HTTP內remote_api的得到處理? – dragonx
您可能需要在服務器啓動時而不是每次請求時初始化遠程API。 – dragonx
@dragonx - 聽起來更好。你現在應該把它放在GAE代碼中嗎? –