日本語版は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のサンプル
Pub/Subからプルしたサンプルメッセージ(ユーザー属性)
Pub/Subからのメッセージのデコード(ユーザー属性)
Pub/Subからメッセージをプルした後、読み取り可能なフォーマットにデコードする必要があります。メッセージのdata フィールドにはbase64エンコードされた文字列が含まれています。この文字列をAuxiaUserAttributeのスキーマに一致するJSON構造にデコードする必要があります。
デコード済みメッセージのサンプル