1

我想知道是否有可能/允許在兩個應用程序之間共享實體,例如一個應用程序創建並存儲實體,然後第二個應用程序從第一個應用程序獲取密鑰,然後可以訪問實體? Second.py是否需要在其中包含Ent類信息,還是僅通過擁有該對象知道關於Ent的所有信息?在應用程序之間共享實體密鑰

First.py:

class Ent(db.model): 
    def stuff(): 
     print "I belong to first" 
class out(webapp2.RequestHandler): 
    def get(): 
     e = Ent() 
     key = e.put() 
     return key 

Second.py:

class in(webapp2.RequestHandler): 
    response = urllib2.urlopen(urlOfFirstApp) 
    ent = #access BigTable with response/key, I'm not sure how to do this or if I can or if I'm allowed to 
    ent.stuff() 
+1

'first.py'中存在一個錯誤。 'e.put'後忘了括號;) – Linuxios

+1

謝謝修復它。我會誠實地說這應該是psudo代碼有點失控。 – EasilyBaffled

回答

0

這取決於你的數據的存儲位置。如果它存儲在GAE數據存儲中,則它只能存儲在一個應用程序的數據存儲中,並且必須由另一個應用程序通過某種HTTP API訪問。但是,如果它存儲在Google雲端存儲中,您可以(我認爲)共享標識符並從多個應用程序訪問。

+0

我從來沒有意識到有什麼不同,我認爲GAE數據存儲是BigTable,只是被一切共享。 – EasilyBaffled

+0

@SasilyBaffled:想想那將會是多麼的災難。任何人都可以蠻橫地強制鍵或ID並訪問其他人的數據。另外,請參閱[this](http://stackoverflow.com/questions/8956230/can-i-access-datastore-entities-of-my-other-google-app-engine-applications)問題。 – Linuxios

相關問題