メインコンテンツへスキップ

概要

OneSignal + Amazon Athena統合により、AthenaデータレイクからOneSignalのカスタムイベントAPIに直接カスタムイベントを自動的に同期できます。これにより、AWSデータインフラストラクチャに保存された実際のユーザーの行動に基づいて、自動化されたJourneysとパーソナライズされたメッセージングキャンペーンをトリガーできます。 購入、製品表示、サブスクリプションの変更、またはカスタムユーザーアクションなどのイベントを同期して、プッシュ通知、メール、アプリ内メッセージ、SMSを介してオンボーディングシーケンス、再エンゲージメントキャンペーン、トランザクションメッセージ、ターゲットを絞ったプロモーションを自動的にトリガーできます。

要件

Amazon Athena

  • Athenaアクセス権を持つAWSアカウント
  • 設定されたAthena Workgroup(デフォルト:「primary」)
  • Athenaクエリ出力用のS3クエリ結果バケット
  • Athena、S3、AWS Glueアクセス用のIAM権限
  • S3に保存され、AWS Glueでカタログ化されたイベントデータ

セットアップ

AWS権限の設定

OneSignalは、Athenaを介してイベントデータをクエリするための特定の権限が必要です。以下の権限を含むIAMポリシーを作成します:
1

IAMポリシーを作成する

以下の権限を含むIAMポリシーを作成します:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:GetQueryResultsStream",
                "athena:GetQueryResults",
                "athena:CreatePreparedStatement",
                "athena:DeletePreparedStatement",
                "glue:GetTable",
                "glue:GetTables",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:glue:<region>:<aws-account-id>:table/<database>/*",
                "arn:aws:glue:<region>:<aws-account-id>:database/<database>",
                "arn:aws:glue:<region>:<aws-account-id>:catalog",
                "arn:aws:athena:<region>:<aws-account-id>:workgroup/<workgroup>",
                "arn:aws:s3:::<query-results-bucket>",
                "arn:aws:s3:::<query-results-bucket>/*",
                "arn:aws:s3:::<event-data-bucket>",
                "arn:aws:s3:::<event-data-bucket>/*"
            ]
        }
    ]
}
プレースホルダーを実際のAWSリージョン、アカウントID、データベース名、ワークグループ、バケット名に置き換えてください。
2

IAMユーザーまたはロールを作成する

OneSignal用のIAMユーザーを作成し、上記で作成したポリシーをアタッチするか、ロールベースのアクセスを使用する準備をします。
3

接続の詳細をメモする

以下の情報を収集します:
  • AWS Access Key IDSecret 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 ID341876425553(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 FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

制限事項

  • クエリパフォーマンス:Athenaはクエリとスキャンされたデータごとに課金されます - イベントテーブルを最適化してください
  • S3依存関係:適切に設定されたS3バケットとGlueカタログが必要です
  • データの鮮度:イベント同期頻度は、S3データの更新頻度に依存します

FAQ

Athenaクエリが失敗した場合はどうなりますか?

OneSignalはクエリエラーをログに記録し、失敗したクエリを再試行します。永続的な失敗が発生する場合は、IAM権限とS3バケットアクセスを確認してください。

OneSignalはどのくらいの頻度でイベントを同期しますか?

OneSignalは、設定された同期頻度に基づいて新しいイベントをチェックします。最小間隔は15分です。

サポートが必要ですか?

Athena統合のセットアップについてサポートが必要な場合は、support@onesignal.comにお問い合わせいただくか、アプリ内チャットをご利用ください。