2012-04-24 5 views
2

Google App Engineでアプリケーションを作成しようとしましたが、何か問題があり、解決方法がわかりません。AppEngineの2つのアプリケーションはどのように相互通信できますか?

私は2つのアプリケーションを構築しようとします.1つはユーザーからStringを取得し、もう1つは分割または暗号化のようなStringを処理します。

私の質問は、Google App Engineの2つのアプリケーション間でStringをどのように送信するのですか?そして、私は文字列を処理するアプリケーションを構築できますか?WEBページを表示しないでください。

いずれかのヒントを教えてください。どうもありがとう。

+2

を使用すると、2つの別々のアプリケーションに簡単な関数を分割したい、いくつかの特別な理由はありますか?あなたが解決しようとしている問題は、AppEngineが非常に簡単かつ自然に行う単純な要求/応答以上のものではないかのように私には聞こえます。 Getting Started Guideの例を読むことを強くお勧めします。 https://developers.google.com/appengine/docs/python/gettingstarted/ –

+0

@ user1353777:なぜ2つの別々のアプリケーションが必要なのですか? –

+0

私は2つの異なるサービスプロバイダをシミュレートしたい、1つはユーザーからStringを取得し、もう1つはプロセスの文字列です。ユーザーは最初のサービスプロバイダを知っているだけです。 – user1353777

答えて

4

2つのAppEngineアプリケーションが互いに通信する唯一の方法は、通常のHTTP要求/応答モデルを使用することです。あなたのケースでは、処理する文字列を提供するユーザーからの要求に答えるApp Aを使用します。 App BはApp Aから処理される文字列を渡す要求を受け取ります。

  1. アプリA...は、いくつかの任意の値である
  2. アプリB...は、いくつかの任意の値である
  3. ユーザアプリケーションをブラウズを使用するか、または書き込みURL /processstring?string=...を処理URL /providestring?string=...を処理します電話をかけて/providestring
  4. App Aの URL処理コードが実行さのApp Bの/processstring
  5. のApp Bの URL処理コードの実行を呼び出すためにURLFetchを使用し、stringパラメータの値を抽出
  6. のApp Astringパラメータの値を抽出し、どんな種類の処理をしても、 は呼び出し元に何らかの応答を送信します。
0

これを行う1つの方法は、共有データベースを作成することです。 App Aはユーザーデータを摂取し、データベースに保存します。 App Bはユーザーデータをプルして処理します。

受け入れられる機能リクエストは、複数のApp Engineアプリケーションがデータストアアクセス[1]を共有することです。

複数のApp EngineアプリケーションでGoogle Cloud SQLインスタンス[2]にアクセスすることができます。

To grant access to your App Engine application: 

From the Google Cloud SQL pane of the APIs Console, find the instance that you 
want to grant access to and click the on the name of your instance. 
Click on the Instance settings button on the instance's dashboard. 
On the Instance settings window that appears, enter your Google App Engine 
application ID under the Authorized applications section. You can grant access to 
multiple applications, by entering them one at a time. 

注:データストアを使用する1つのアプリケーションでこれを実現できます。

  1. RequestHandlerは、ユーザーデータを取り込み、データを処理して保存するタスクをキューに入れます。
  2. RequestHandlerがユーザーデータを取り込みます&が保存されます。 cronジョブは、そのタイプのすべての最近のモデルをプルし、それらを処理し、処理されたデータを保存します。

[1] https://code.google.com/p/googleappengine/issues/detail?id=1300

を[2] https://developers.google.com/cloud-sql/docs/before_you_begin#configure_access_control

+0

どちらも素晴らしいですが、どちらも本当にユーザーの質問に役立ちません。 –

+0

私はあなたが共有しているデータベースを使いたいと思って、ユーザからのデータを受け取り、データをdbからデータを読み込み、データを処理します –

関連する問題