1

詢問此問題時,我可能會發出聲音。當Google Datastore的物業價值發生變化時通知用戶

我想建立一個機制,當Google數據存儲實體的屬性值發生變化時,應該通知相應的用戶(電子郵件存在於同一實體的某個其他屬性值中)。 Google Datastore是否支持這種類似於Redis PubSub的機制?

如何將Google PubSub或webhooks與Google Datastore集成的任何想法?

此外如何確定用戶當前處於活動狀態,即如何檢查用戶是否在瀏覽器中打開了我的gae應用程序?

回答

2

谷歌數據存儲沒有這樣的機制。唯一的方法是在您的代碼更新數據存儲區時從您的應用程序發送通知。

+0

如何確定在我們的應用程序中使用Java在線的用戶的電子郵件? – akgaur

+0

我第二個這個陳述,我不明白爲什麼這是downvoted。伊戈爾說的是正確的。當然,你可以在數據訪問層中包裝一些代碼來觸發某些事件的事件,但這不是數據存儲提供的。數據存儲沒有觸發機制。 NDB數據存儲區API實現軟件端觸發器,但假設這是數據存儲區本身提供的東西是錯誤的。 – konqi

0

完全可能。例如,如果您正在使用NDB數據存儲區和Python,則可以在您的模型中定義_post_put_hook函數。每當此模型的實體發生更改時,您的代碼都會被調用。您的代碼可以查找用戶並向他們發送電子郵件(或採取任何其他必要的操作)。

這裏是型號掛鉤的相關Python文檔:

https://cloud.google.com/appengine/docs/python/ndb/entities#hooks

我希望這能回答你的問題。

+0

Java可以嗎?如何確定在我們的應用程序上在線的用戶的電子郵件,並通知他們的變化? – akgaur

+1

事實上,** NDB數據存儲API **(請注意API)具有觸發器,但它們在API中實現而不在數據存儲中。如果您通過遠程API訪問數據存儲區,觸發器將不會被觸發。 @AbhijeetKumarGaur我很抱歉地說,但正如Igor所說,數據存儲不提供觸發器。幸運的是,你總是可以爲你的數據存儲調用創建一個包裝器。該解決方案通用獨立於您編碼的語言。 – konqi

相關問題