-2

我正在開發一個需要谷歌應用引擎中的命名空間的應用。我正在考慮使用名稱空間來允許一組用戶看到不同的數據,但是應該可以使用另一個全局名稱空間來查看所有不同用戶組存儲的所有數據。這是我的使用案例 公司A註冊,創建名爲company-a的動態名稱空間。 公司B註冊,創建一個名爲company-b的動態名稱空間。谷歌應用引擎的命名空間實現

現在客戶端應用程序(Mobile/Web)將需要獲取公司A和公司B存儲的數據並顯示它。我如何用谷歌應用程序引擎完成這種類型的場景。 請注意,該應用程序正在處理所有數據存儲操作的谷歌雲端點上運行。

+0

做這樣的事情的正常方法是編寫代碼,將其部署到應用程序引擎,測試它。如果你有問題,你會回到堆棧溢出,你問一個更精確的問題:)。現在,也許閱讀這將有助於? https://cloud.google.com/appengine/docs/java/multitenancy/multitenancy – Patrice 2015-04-04 18:22:15

+0

謝謝我已閱讀,我在這裏爲了更清晰地啓用標準實現。 – 2015-04-04 18:31:02

+1

更清楚些什麼?這篇文章解釋了你必須使用的東西,並附有實現示例.... – Patrice 2015-04-04 18:33:55

回答

1

數據存儲區命名空間旨在提供嚴格的multitenancy。因此不可能發出交叉命名空間查詢。如果您想提供混合接入,你有兩種可能性:

  1. 當您在「全局」命名空間的操作,就可以發出每個命名空間一個查詢。然後在客戶端上,您可以將它們結合在一起。您可以通過在"__namespace__"類型上發出查詢來動態獲取您的名稱空間列表。然而,如果你有很多命名空間,這將是低效的。

  2. 實現您自己的命名空間版本。您可以向所有模型添加一個屬性(例如namespacecompany)以指示該實體屬於哪個公司。在「company-a」的頁面上,通過company = "company-a"篩選所有查詢。然後在「全局」名稱空間(客戶端應用程序)中,發出沒有company集合的查詢。這需要您更加勤勉,但也更加靈活。