Pub/Sub API によるイベントメッセージの公開
Pub/Sub API サービスは proto ファイルで定義され、RPC メソッドパラメータと戻り値の型がプロトコルバッファメッセージとして指定されます。イベントが RPC 公開メソッドの 1 つによって公開されるとき、公開要求はプロトコルバッファメッセージ種別に基づいて逐次化されます。詳細は、gRPC ドキュメントの「What is gRPC? (gRPC とは?)」と「Protocol Buffers (プロトコルバッファ)」、および Pub/Sub API の GitHub リポジトリの「pubsub_api.proto」を参照してください。
Publish と PublishStream の 2 つの RPC メソッドの 1 つを使用してイベントを公開します。
Publish RPC メソッドは単項 RPC です。つまり、1 つの要求のみを送信し、1 つの応答のみを受信します。
1rpc Publish (PublishRequest) returns (PublishResponse);PublishStream RPC メソッドは、双方向ストリーミングを使用します。サーバから公開応答のストリームを受信しながら、公開要求のストリームを送信できます。PublishStream を使用すると、Publish よりも高いパブリッシュ率を実現できます。
1rpc PublishStream (stream PublishRequest) returns (stream PublishResponse);PublishResponse は、公開されたイベントごとに PublishResult を保持し、それらは、途中のキューイング結果ではなく、公開操作の最終的な成功または失敗を示します。状況が成功の場合は、イベントが公開されたことを意味します。状況が失敗の場合は、イベントの公開が失敗したことを意味し、クライアントはこのイベントの公開を再試行することができます。
Pub/Sub API の RPC メソッドの詳細については、『Pub/Sub API』開発者ガイドの「Pub/Sub API RPC Method (Pub/Sub API RPC メソッド)」のリファレンスを参照してください。
Pub/Sub API クライアントを記述して、プラットフォームイベントメッセージを公開します。Python、Java、Go、Node など、サポートされている 11 種のプログラミング言語のいずれかを使用できます。Python でクライアントを記述する方法については、『Pub/Sub API』開発者ガイドの Python コードのクイックスタートの例を参照してください。Go 言語による行の記述方法については、Pub/Sub API GitHub リポジトリにある Go のコード例を参照してください。