AppEngine と GCE を組み合わせた分散アプリケーションの開発は、共有データへのアクセスに関して困難になる場合があります。この質問では、GCE 上で実行されているスタンドアロン Go バイナリと AppEngine の devappserver の埋め込みデータストアとの間の接続を確立する方法について説明します。
現在、Google Cloud Datastore API (クライアント ライブラリ) を使用して AppEngine 埋め込みデータストアに接続することはできません。開発環境で実現可能。これは、Google Cloud Datastore ツール (gcd.sh) で使用される Java 開発サーバーと Go 開発に使用される Python 開発サーバーとの間の基本的なアーキテクチャの違いによるものです。
直接 HTTP 呼び出しは代替手段ですが、次のような問題が発生します。彼ら自身の挑戦。開発サーバーは現在、Go クライアント ライブラリで使用される JSON API をサポートしていません。
回避策:
proppy が提案しているように、Cloud Datastore Protobuf HTTP API を使用すると、実行可能な回避策。これには、Protobuf 定義を Go コードにコンパイルし、POST HTTP リクエストをデータストア エンドポイントに直接送信することが含まれます。この方法ではリクエストを手動で作成する必要がありますが、Cloud Datastore API への直接接続が提供されるため、クライアント ライブラリと比較して安定性が向上する可能性があります。このアプローチでは、アプリケーションと開発中の Cloud Datastore の間でデータを共有できないことに注意してください。
以上が開発中のスタンドアロン Go バイナリから AppEngine データストアにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。