問題タブ [protorpc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-app-engine - using protorpc message gives error: Excepted type absolute.path.to.MyMessage but found MyMessage
After forming my ProtoRPC message, I get the error:
Expected type class 'protorpc.messages.MHistoryActivityViewMessage' for field items, found MHistoryActivityViewMessage\n body: u'Test Here'\n activity_id: 'WS-MHistory_ag9zfm1jYS1kZXJyaWNrLTFyGQsSEE1IaXN0b3J5QWN0aXZpdHkYsbyuBAw'
[...]
I have run across this issue many times where the expected type is 'absolute.path.to.MyMessage' but the found type is 'MyMessage'.
I'm stumped as to why I get this error. I have gotten this error many times. One workaround that sometimes works is moving the protorpc message definition higher up in the file seems.
Any hints or ideas?
python-2.7 - Google Cloud Endpoints Multi Get
Resource という Endpoints Proto Datastore API の EndpointsModel があり、Resource.query().fetch(10) を使用して 10 個のアイテムをリクエストしています。
問題はリソースの配列を返すことですが、「エンドポイント API の作成」のドキュメントによると、メッセージの配列を返す必要があります。
https://cloud.google.com/appengine/docs/python/endpoints/create_api
Google Cloud Enpoints を使用した Proto RPC メッセージ
モデルの配列をメッセージに変換する標準的な方法はありますか、それとも for ループが最も効率的な方法ですか?
前もって感謝します!
google-app-engine - ProtoRPC メッセージ クラスの定義
Firebase アプリからのリクエストを処理するためのクラウド エンドポイントを構築しています。エンドポイントが次のような Firebase データベース オブジェクトを受信するようにします。
そこで、このリクエストを処理する Message クラスを作成します。
しかし、Firebase がフィールド名に「$」を追加するため、ProtoRPC で有効なメッセージ クラスを作成してそのオブジェクトを定義する方法を見つけることができません。
google-app-engine - Google エンドポイントの Dart でのクエリ パラメータのサポート?
カスタム Google エンドポイントからデータを取得する Dart アプリケーションがあります。クライアント ライブラリを生成するために discoveryapis_generator を使用しています。次のようなクエリを発行したいと思います。
endpoints_api.dart
discoveryapis_generator によって生成されたクライアント ライブラリgenerate.dart
です。MyApi
は私のカスタム エンドポイント API でありphotos
、そのサービスの 1 つです。インスタンスプロパティを持つエンドポイントモデルクラスだと思い ます。Photo
post_id
リクエストを発行すると、Photo に static getter "post_id" がないというエラーが発生します。これは Python API のクエリの構文に近いため、ここで指定する方法しか思いつきませんでした。
私のリクエストを説明するのに他に何が役立つかわかりません。うまくいけば、それは自明です。hereで説明されているアクティブな拡張機能がありますが、応答でアイテムではなくフィールドを制限することを指しているようです。
アップデート:
クライアント ライブラリを調べてみると、list
メソッドのソースが見つかりました。確かにクエリ パラメータがサポートされているようです。しかし、それは完全に正しいとは思えません。仮パラメータ リストには、中かっこで囲まれた API で指定されたクエリ パラメータが含まれます。
ただし、メソッド本体には次のようなものがあります。
パラメータリストから[regionId]
抽出するための括弧はありますか?region
パラメーター リストから中かっこを取り出しました。でのみクエリを実行することを期待しているのでpostId
、それが唯一のパラメーターです。
出来上がり。呼び出しで値を指定するだけで、クエリにパラメーターを追加できるようになりました。
python - proto バッファを ProtoRPC に変換する
Python スクリプトではmylibrary.py
、プロトコル バッファーを使用して、次のアプローチでデータをモデル化します。
- .proto ファイルでメッセージ形式を定義します。
- プロトコル バッファ コンパイラを使用します。
- .py モジュールでメッセージを読み書きするには、Python プロトコル バッファ API を使用します。
前述の Python スクリプトを使用する App Engine に Cloud Endpoints Framework を実装したいのですが、Cloud Endpoints は「標準」のProtocol BuffersではなくProtoRPCを使用します。imports
私の App Engine Python モジュール は、シリアル化と逆シリアル化のコードを生成するために「オフライン」コンパイラを使用するのではなくmain.py
、 からインポートします。protorpc
protoc
メッセージはファイルを使用して定義されていません。.proto
代わりに、以下を継承してクラスが定義されprotorpc.messages.Message
ます。
Proto Buffer を Proto RPC と同等のものに変換できますか? ProtoRPC はProtocol Buffersmylibrary.py
ほど一般的ではないため、ProtoRPC を使用するように変更したくありません。