トピックでは、スキーマを使用して、メッセージが準拠すべき形式を定義できます。 スキーマを使用してトピックに登録するとき、サブスクライバーに送信されるメッセージが有効なメッセージとなることが保証されます。これらのメッセージは、トピックに関連付けられたスキーマ設定で指定された型とエンコードに準拠しています。
サブスクライバーは、次の属性を調べることで、トピックに関連付けられたスキーマ設定を特定できます。
googclient_schemaname: 検証に使用されるスキーマの名前。 スキーマが削除されると、名前は_deleted-schema_になります。googclient_schemaencoding: メッセージのエンコード(JSON またはバイナリ)。googclient_schemarevisionid: メッセージの解析と検証に使用されるスキーマのリビジョン ID。各リビジョンには、一意のリビジョン ID が関連付けられています。リビジョン ID は、自動生成された 8 文字の UUID です。リビジョンが削除されると、ID は_deleted-schema-revision_になります。
スキーマの詳細については、スキーマの概要をご覧ください。
スキーマに関連付けられているトピックをサブスクライブするためのコードサンプル
以下のサンプルは、スキーマを使用して構成したトピックをサブスクライブする際にメッセージを処理する方法を示しています。
C++
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の C++ の設定手順を実施してください。詳細については、Pub/Sub C++ API リファレンス ドキュメントをご覧ください。
Avro ProtoC#
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の C# の設定手順を実施してください。詳細については、Pub/Sub C# API リファレンス ドキュメントをご覧ください。
Avro