BrazeとFivetranを統合してみる
Brazeでは、Brazeで作られたデータをDWHに送るためのパイプラインを作成することができます。 これによりデータを取り扱っているチームは既存のBIツールを使ってBrazeのデータを洞察することも可能になり、他のデータと連携してさらに詳しい分析を行うこともできます。
本記事では、公式でも提供されているFivetranを使ってBrazeのデータを集めてみたいと思います。
やってみる
必要なもの
- Fivetranアカウント
- owner/admin の権限が必要
- Braze API URL
- ダッシュボードのURLに依存する
- 例) ダッシュボードが
https://dashboard-01.braze.eu
ならhttps://rest.fra-01.braze.eu
- 例) ダッシュボードが
- ダッシュボードのURLに依存する
- Braze API Key
- Brazeダッシュbーどから作成する
- Google Cloud StorageまたはAmazon S3に接続されたBraze Currents
- 以前の記事で作成したCurrentsを使用します(S3にストリーミング済み)
Fivetranアカウントのアカウントは事前に用意しているものとします。
Braze APIで取得できるデータと、Currentsで送信したデータをFivetranで収集できるようにする仕組みのようです。
Braze API Keyの作成
Brazeダッシュボード>開発者コンソール>REST API Keys>Create New API Key
で作成していきます。
Keyの名前を入力し、必要な権限をつけます。
つける権限は、
- users.export.ids (ユーザーIDを使用してユーザープロファイル情報を照会)
- users.export.segment (セグメントを使用してユーザープロファイル情報を照会)
- email.unsubscribe (サブスクリプション解除されたメールアドレスを照会)
- email.hard_bounces (ハードバウンスされたメールアドレスを照会)
- messages.schedule_broadcasts (スケジュールされたブロードキャストメッセージをすべて照会)
- campaigns.list (キャンペーンのリストを照会)
- campaigns.details (特定のキャンペーンの詳細を照会)
- canvas.list (キャンバスのリストを照会)
- canvas.details (特定のキャンバスの詳細を照会)
- segments.list (セグメントのリストを照会)
- segments.details (特定のセグメントの詳細を照会)
- purchases.product_list (アプリで購入した製品のリストを照会)
- events.list (カスタムイベントのリストを照会)
- feed.list (ニュースフィードカードのリストを照会)
- feed.details (特定のニュースフィードの詳細を照会)
- templates.email.info (特定のテンプレートの情報を照会)
- templates.email.list (メールテンプレートのリストを照会)
- subscription.status.get (サブスクリプショングループの状態を取得)
- subscription.groups.get (特定のユーザーが明示的にサブスクリプション登録/解除したサブスクリプショングループの状態を取得)
です。
FivetranでBrazeのコネクターを作成
Fivetranのダッシュボードにログインし、右上にあるAdd Connectorをクリックします。
検索BOXにbrazeと入力すると、用意されているコネクターが表示されるのでクリックして設定していきましょう。
本記事ではクラウドストレージをS3にし, 必要な項目を入力していきます。
- Destination schema:一意のスキーマ名
- API URL:Braze RESTAPIエンドポイント
- API Key:Braze RESTAPIキー
- Bucket: BucketはFivetranからアクセスさせるためのバケット名です。Currentsで連携したS3バケット名にします
- Role ARN
- Folder: 必須ではないですが、Currentsで連携したS3バケットフォルダーがあれば入力します。
External ID
はFivetranがS3バケットにアクセスできるようにするために必要になるので控えておきます。
Role ARNは、以下の手順で作成したものを入力します。
AWSでIAM Roleを作成する
指定されたS3バケットへのFivetranからアクセスを許可したいので、IAMを使って設定していきます。
IAMポリシー)
以下のポリシーを使い作成します。。{your-bucket-name}必ずS3バケットの名前に置き換えてください
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::{your-bucket-name}/*" }, { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::{your-bucket-name}" } ] }
IAMロール)
別のAWSアカウントを選択し、FivetranアカウントID(834469178297)を入力します。
外部 ID を要求するのチェックボックスをオンにし、FivetranのBrazeコネクター作成画面に表示されている外部IDを入力します。
ポリシーは先ほど作成したものにします、
作成後、作成したロールをクリックして、表示されているロールARNをコピーしてFivetranのbrazeコネクター作成画面に入力します。
Enable User Profile Exports(オプション)
USERテーブルとUSER_ALIASテーブルを同期するには、ユーザープロファイルエクスポートを有効にするトグルをオンにします。
今回はオフのままにします。
Enable User Profile Exportsのドキュメント
Save & Test
入力が終わったら、Save & Test
を押してコネクタを保存します。
FivetranはここからBrazeアカウントからデータを同期させます。
Fivetranで同期されたデータを確認
テストコネクションが終わると、最初の同期を行うかの画面に遷移するので、Start initial sync
をクリックします。
作成したコネクターの詳細ページで、Logs
タブをクリックすると、
test_connector_connection、api_call を行った時のログが確認できます。
Schemaタブをクリックすると、コネクターから取得して作成したtableが確認できました。
同期が終わると、sync_end
というログが出力されますので、成功しているかどうか確認できます。
FivetranのDestinationを作成していると、brazeのデータの中身を確認することも可能です。
以下はBigqueryをDestinationにし、テーブルの中身を見た時の例です。
さいごに
BrazeとFivetranの統合を試してみました。
Fivetranのようなパイプラインと接続できると、素早くDWHにデータを配信し、分析できるようになるので、使う機会も多いのではないでしょうか? BrazeではFivetranの他にもワークフローを自動化するソリューションとの統合が用意されているので、ぜひ使ってみてください