Google App Engine-異なるドメインとアプリ用の1つのデータストア
-
03-07-2019 - |
質問
1つのデータストアにアクセスすることはどういうわけか可能ですか?または、異なるドメインから1つのアプリにアクセスします。
解決
すべてのアプリには、独自のデータストアとmemcache(そのアプリのすべてのバージョンで共有)があります。
現在、アプリケーション間でデータストアを共有することはできないようです(そのためのWebサービスを提供しない限り)が、それは持っておくと便利な機能なので、多分 Googleに機能リクエストを提出する < href = "http://code.google.com/p/googleappengine/issues/detail?id=1300" rel = "noreferrer">投票。
ドメインについては、アプリを Googleが管理するドメインに関連付けることができますアプリ。同じアプリケーションの複数のドメインは問題ありません(SSL証明書を除く)。
他のヒント
App Engineは最近、モジュールと呼ばれる機能のサポートを追加します(Docs: go 、 python 、 java )
App Engineモジュール(または単に「モジュール」)は、開発者がステートフルサービスを共有し、安全な方法で通信できる論理コンポーネントに大きなアプリケーションを組み込むことができる機能です。顧客のリクエストを処理するアプリには、他のタスクを処理するための個別のモジュールが含まれる場合があります。
- モバイルデバイスからのAPIリクエスト
- 内部的な管理者のようなリクエスト
- 請求パイプラインやデータ分析などのバックエンド処理
新しいモジュールを作成すると、App Engineはモジュール名に対応するURLを作成します。モジュールが1つしかない場合、名前は default
になります。例:
- http:// default .myapp.appspot.com
- http:// mobile&#8209; frontend .myapp.appspot.com
- http:// my-module .myapp.appspot.com
ドメインマスキングを使用すると、次から直接アクセスできます:
- www.myapp.com =&gt; http:// default .myapp.appspot.com
- www.myapp-mobile.com =&gt; http:// mobile&#8209; frontend .myapp.appspot.com
- www.example.com =&gt; http:// my-module .myapp.appspot.com
アプリのすべてのバージョンは、同じデータストアによってバックアップされます。個々のリクエストのアクセスを制限する場合は、モデルにフィールドを追加してその制限を実施する必要があります。この種のことのために、データストアAPIには低レベルのフックがあります(そこまで行きたい場合)。
そして、はい、単一のApp Engineアプリを複数のドメインに追加できます-複数のAppsアカウントでも。
Kyleのソリューションは機能しますが、App Engineはこの方法で使用するようには設計されていません。そのため、この種のセットアップに依存するようにアプリを設計し、Googleが何らかの理由で取り締まる場合、あなたは台無しになります。