日本語版はAIによる翻訳です。正確な情報については英語版をご参照ください。
概要
このドキュメントでは、Pub/Sub 上の Auxia システムを使用してユーザーイベントとユーザー属性をパブリッシュする方法を説明します。Auxia が想定するメッセージフォーマット、スキーマ、および Pub/Sub からの結果メッセージのサンプルについて解説します。お客様側の要件
Pub/Sub 統合を設定するには、以下を提供してください。-
トピック名(フルパス)
- 例:
projects/my-company/topics/user-events
- 例:
-
トピックに対する権限
- Auxia のサービスアカウント(
data-transfer@auxia-gcp.iam.gserviceaccount.com)に上記トピックのpubsub.subscriptions.create権限を付与してください。これにより、Auxia 側でサブスクリプションを作成できます。
- Auxia のサービスアカウント(
メッセージフォーマットの要件
Auxia が処理できるよう、トピックにパブリッシュする各メッセージは以下の要件に従ってください。- メッセージデータはバイナリエンコードされた protobuf であること。 各
LogEventsRequest(イベント)またはUserAttributePb(ユーザー属性)を標準の protobuf バイナリエンコーディングでシリアライズし(例: Python のSerializeToString()、Java および Kotlin のtoByteArray())、その結果のバイト列をメッセージデータとしてパブリッシュしてください。textproto および JSON のペイロードはサポートされていません。このページの textproto サンプルは読みやすさのために記載しています。 - 各メッセージに
data_type属性があること。 イベントにはEventData、ユーザー属性にはUserAttributeを設定してください。
イベントおよびユーザー属性の Auxia スキーマは、フィールド名、フィールド番号、型を含めて記載どおりに使用してください。これらの要件に従っていないメッセージは処理できません。
イベント:
ユーザーイベントのスキーマ:
Event Transaction データのドキュメントに記載されているスキーマを参照してください。以下のリンクで提供されている正確なスキーマを使用してください: Auxia ユーザーイベントスキーマイベントパブリッシュ用の Textproto フォーマット:
以下のサンプルは、読みやすさのためにLogEventsRequest を textproto で示したものです。メッセージフォーマットの要件に従い、バイナリエンコードされた protobuf としてパブリッシュしてください。LogEventsRequest および ExternalEventPb メッセージのスキーマはドキュメントに従います。
サンプル textproto:
Pub/Sub からプルしたサンプルメッセージ:
Pub/Sub からのメッセージのデコード:
Pub/Sub からメッセージをプルした後、読み取り可能なフォーマットにデコードする必要があります。メッセージの data フィールドには base64 エンコードされた文字列が含まれています。この文字列を LogEventsRequest のスキーマに一致する JSON 構造にデコードする必要があります。 サンプルデコード済みメッセージ:ユーザー属性:
ユーザー属性のスキーマ:
ユーザー属性のドキュメントを参照してください。以下の正確なスキーマを使用してください。ユーザー属性パブリッシュ用の Textproto フォーマット:
以下のサンプルは、読みやすさのためにUserAttributePb を textproto で示したものです。メッセージフォーマットの要件に従い、バイナリエンコードされた protobuf としてパブリッシュしてください。UserAttributePb メッセージのスキーマは上記のスキーマに従います。
サンプル textproto: