概要
OneSignal + Amazon Athena統合により、AthenaデータレイクからOneSignalのカスタムイベントAPIに直接カスタムイベントを自動的に同期できます。これにより、AWSデータインフラストラクチャに保存された実際のユーザーの行動に基づいて、自動化されたJourneysとパーソナライズされたメッセージングキャンペーンをトリガーできます。 購入、製品表示、サブスクリプションの変更、またはカスタムユーザーアクションなどのイベントを同期して、プッシュ通知、メール、アプリ内メッセージ、SMSを介してオンボーディングシーケンス、再エンゲージメントキャンペーン、トランザクションメッセージ、ターゲットを絞ったプロモーションを自動的にトリガーできます。要件
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
Amazon Athena
- Athenaアクセス権を持つAWSアカウント
- 設定されたAthena Workgroup(デフォルト:「primary」)
- Athenaクエリ出力用のS3クエリ結果バケット
- Athena、S3、AWS Glueアクセス用のIAM権限
- S3に保存され、AWS Glueでカタログ化されたイベントデータ
セットアップ
AWS権限の設定
OneSignalは、Athenaを介してイベントデータをクエリするための特定の権限が必要です。以下の権限を含むIAMポリシーを作成します:1
IAMポリシーを作成する
以下の権限を含むIAMポリシーを作成します:
プレースホルダーを実際のAWSリージョン、アカウントID、データベース名、ワークグループ、バケット名に置き換えてください。
2
IAMユーザーまたはロールを作成する
OneSignal用のIAMユーザーを作成し、上記で作成したポリシーをアタッチするか、ロールベースのアクセスを使用する準備をします。
3
接続の詳細をメモする
以下の情報を収集します:
- AWS Access Key IDとSecret Access Key(IAMユーザーを使用する場合)
- S3クエリ結果バケットのURL
- AWSリージョン
- Athena Workgroup(デフォルト:「primary」)
OneSignal Athena接続を設定する
1
統合に移動する
In OneSignal, go to Data > Integrations and click Add Integration.
2
Amazon Athenaを選択する
利用可能な統合のリストからAmazon Athenaを選択します。
3
接続の詳細を入力する
Athena接続情報を提供します:
- AWS Access Key ID:IAMユーザーのアクセスキー
- AWS Secret Access Key:IAMユーザーのシークレットキー
- AWS Region:Athenaリージョン
- S3 Query Results Bucket:クエリ出力のURL
- Athena Workgroup:ワークグループ名
4
接続をテストする
Test Connectionをクリックして、OneSignalがAthenaインスタンスにアクセスしてクエリを実行できることを確認します。
代替:ロールベースのアクセス
セキュリティを強化するために、アクセスキーの代わりにIAMロールを使用できます:1
ロールベースのアクセスを有効にする
Athena接続設定で、Use Roleをチェックし、アクセスキーを空白のままにします。
2
IAMロールを作成する
AWSコンソールで、以下を使用してIAMロールを作成します:
- Trusted Entity:Another AWS Account
- Account ID:
341876425553(OneSignalのAWSアカウント) - External ID:OneSignalに表示されているID(初回接続試行後に表示されます)
- Permissions:上記で作成したIAMポリシー
3
接続を完了する
OneSignalでRole ARNを入力し、接続をテストします。
イベントデータマッピング
接続したら、AthenaテーブルをOneSignalカスタムイベントフィールドにマッピングする必要があります:1
イベントテーブルを選択する
OneSignalに同期したいイベントデータを含むテーブルまたはビューを選択します。
2
必須のイベントフィールドをマッピングする
カスタムイベントに必須のフィールドをマッピングします:
- Event Name:イベントタイプを含む列(例:「purchase」、「signup」)
- User Identifier:External User ID、Email、またはPhone Number列
- Event Timestamp:イベントが発生した時刻(オプション)
3
イベントペイロードデータをマッピングする
追加の列をイベントペイロードプロパティにマッピングします:
- カスタムイベントプロパティ(product_id、price、categoryなど)
- コンテキストデータ(source、campaignなど)
- 行動メトリクス(value、quantityなど)
4
同期設定を構成する
イベント処理頻度と配信設定を設定します。
Event data mapping
Map your to OneSignal’s custom events format:| OneSignal Field | Description | Required | |
|---|---|---|---|
name | event_name | Event identifier | Yes |
external_id | user_id | User identifier | Yes |
timestamp | event_timestamp | When event occurred | No |
properties | event_data | No |
制限事項
- クエリパフォーマンス:Athenaはクエリとスキャンされたデータごとに課金されます - イベントテーブルを最適化してください
- S3依存関係:適切に設定されたS3バケットとGlueカタログが必要です
- データの鮮度:イベント同期頻度は、S3データの更新頻度に依存します
FAQ
Athenaクエリが失敗した場合はどうなりますか?
OneSignalはクエリエラーをログに記録し、失敗したクエリを再試行します。永続的な失敗が発生する場合は、IAM権限とS3バケットアクセスを確認してください。OneSignalはどのくらいの頻度でイベントを同期しますか?
OneSignalは、設定された同期頻度に基づいて新しいイベントをチェックします。最小間隔は15分です。サポートが必要ですか?
Athena統合のセットアップについてサポートが必要な場合は、support@onesignal.comにお問い合わせいただくか、アプリ内チャットをご利用ください。