1

GoogleAppEngineでプログラムによって1つのアプリケーションから別のアプリケーションにデータを転送する方法を実装しようとしています。database_adminコンソールでこれを実現する方法があることは知っていますが、そのプロセスは非常に時間効率が悪くなります。

現在、Google Cloud Storage(GCS)を使用してこれを実装していますが、データのクエリ、GCSへの保存、別のアプリからのGCSからの読み取り、復元が含まれます。プログラムで2つのアプリケーション間でデータを転送する簡単な方法を知っている人がいたら教えてください。

ありがとう!

4

4 に答える 4

1

これを自分で試したことはありませんが、うまくいくようです: data_store admin を使用してオブジェクトを 1 つのアプリから GCS にバックアップし、別のアプリを使用してそのファイルを GCS から復元します。これは、一度だけ同期する必要がある場合に適した方法です。

あるアプリから別のアプリにデータを常にレプリケートする必要がある場合は、REST エンドポイントを一方または両方の側に導入すると、次のように役立つ可能性があります。

https://code.google.com/p/appengine-rest-server/ (これは Python で書かれていますが、REST エンドポイント用にアプリのバージョンを定義するだけです)

モデル定義が両側で一致していることを確認し (両方の側で同じ展開コードを使用してアプリをほとんど更新します)、データを同期する必要がある側のみが最後の同期の時間を追跡し、REST エンドポイントを使用してプルする必要があります。新しいデータで。Cron ジョブはこれを行うことができます。

または、すべてのモデルで PostPut コールバックを作成して、モデルがデータストアに書き込まれるたびに他のアプリの適切な REST エンドポイントに POST 呼び出しを行います。

一方の方法で更新をバッチ処理するか、もう一方の方法を使用して常に更新されたバージョンを保持できます (より多くの呼び出しを犠牲にして)。

于 2013-03-14T13:11:44.073 に答える
0

2 つの App Engine アプリケーション間でデータを移動しようとしていますか、または別のホスティング システムに移動できるように App Engine からすべてのデータをエクスポートしようとしていますか? あなたの質問には、あなたがしようとしていることを理解するのに十分な情報がありません。あいまいな要件に基づいて、これは通常、データを公開する 1 つのアプリケーションで記述した Web サービスで処理され、他のアプリケーションはそのサービスを呼び出してデータを消費します。Cloud Endpoints が反対票を投じられた理由はわかりません。これは、最小限のコーディング作業で JSON ベースの Web サービスとしてデータを公開する優れた方法を提供するからです。

正確に何を達成しようとしているのか、おそらくモックデータサンプルなど、質問に詳細を追加することをお勧めします。

于 2013-03-14T13:09:28.447 に答える
-1

これが具体的なシナリオに適しているかどうかはわかりませんが、Google Cloud Endpointsは、Google App Engine からプログラムでデータを転送する簡単な方法であることは間違いありません。

これは、REST Web サービスの Google 実装の一種であるため、URL を使用してリソースを共有できます。これはまだ実験的な技術ですが、私がそれらを使用している限り、完全に機能します。さらに、これらは GAE およびEclipse 用の Google プラグインと非常によく統合されています。

JDO永続クラスからエンドポイントを自動的に生成できます。また、クライアント ライブラリも自動的に生成できると思います (私は試していませんが)。

于 2013-03-14T00:23:37.333 に答える