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

概要

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

要件

OneSignal

  • カスタムイベント機能が有効になっている(現在ベータ版 - support@onesignal.comにお問い合わせください)

Amazon S3

  • S3バケットアクセスを持つAWSアカウント
  • ロールとポリシーを作成するためのIAM権限
  • OneSignal要件に従ってフォーマットされたイベントデータを含むCSVファイル
  • .csv拡張子を持つUTF-8エンコードされたカンマ区切りファイル

セットアップ

イベントCSVファイルを準備する

S3バケットには、OneSignalが処理できるイベントデータを含む適切にフォーマットされたCSVファイルが含まれている必要があります: ファイル形式要件:
  • .csvファイル拡張子を持つ非圧縮、UTF-8エンコード、カンマ区切りCSV
  • ヘッダー行を含める(OneSignalはヘッダーをイベントフィールド名として使用します)
  • null値は文字列#N/Aで表します
  • カンマを含む値は二重引用符で囲む必要があります
  • 二重引用符を含む値は、2番目の二重引用符でエスケープする必要があります
ファイル構造: OneSignalは各フォルダーパスを一意のデータソースとして扱い、ファイル名をそのパス内のデータのバージョンと見なします。イベントを処理する際、OneSignalは常にタイムスタンプに基づいて選択されたフォルダーパス内の最新のデータを選択します。 S3のイベントデータを更新する場合、既存のファイルを置き換えるか、新しいバージョンを追加できます。OneSignalは新しいイベントを処理し、カスタムイベントAPIに送信します。

OneSignal用のIAMロールを作成する

OneSignalは、AWSセキュリティのベストプラクティスに従って、ロールベース認証を使用してS3バケットに接続します。
1

IAMロールを作成する

OneSignalのAWSアカウントID(341876425553)にS3バケットへの読み取り専用アクセスを提供するIAMロールをAWSアカウントに作成します:
aws iam create-role \
  --role-name OneSignalS3DataImport \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::341876425553:root"},
      "Action": "sts:AssumeRole"
    }]
  }'
OneSignal構成に必要になるため、返されたロールARNを保存してください。
2

S3権限を付与する

新しく作成したロールにS3バケットへの読み取り専用アクセスを付与します:
aws iam put-role-policy \
  --role-name OneSignalS3DataImport \
  --policy-name OneSignalS3Access \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR_BUCKET_NAME",
        "arn:aws:s3:::YOUR_BUCKET_NAME/*"
      ]
    }]
  }'
YOUR_BUCKET_NAMEを実際のS3バケット名に置き換えてください。

OneSignal S3接続を構成する

1

データソースに移動する

在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成
2

Amazon S3を選択する

利用可能な統合のリストからAmazon S3を選択します。
3

接続の詳細を入力する

以下の情報を提供します:
  • Region: S3バケットのリージョン
  • Bucket Name: S3バケット名
  • Role ARN: ステップ1のIAMロールARN
  • Prefix: イベントCSVファイルを含むフォルダーパス(オプション)
4

セキュリティハンドシェイクを完了する

OneSignalは一意の外部IDを生成し、次の画面に表示します。この外部IDを要求するようにIAMロールを更新します:
aws iam update-assume-role-policy \
  --role-name OneSignalS3DataImport \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::341876425553:root"},
      "Action": "sts:AssumeRole",
      "Condition": {"StringEquals": {"sts:ExternalId": "GENERATED_EXTERNAL_ID"}}
    }]
  }'
GENERATED_EXTERNAL_IDをOneSignalダッシュボードに表示されている外部IDに置き換えてください。
5

接続をテストする

OneSignalでTest Connectionをクリックして、セットアップが正しく機能していることを確認します。

CSV処理モード

OneSignalは、S3バケットからイベントCSVファイルを読み取る際に2つのモードをサポートしています:

最新(デフォルト)

OneSignalは、構成されたS3プレフィックスとフォルダーグループ内の最新のファイルのみを処理します。単一のファイルは、処理するイベントの完全なセットとして解釈されます。このモードは次の場合に適しています:
  • 単一のファイルに期間のすべてのイベントが含まれている場合
  • 更新されたイベントデータを含む新しいバージョンのファイルが時間の経過とともに追加される場合
  • イベントの完全なバッチを一度に処理したい場合

すべてをマージ

OneSignalは、構成されたS3プレフィックスとフォルダーグループ内のすべてのファイルを取得し、イベントを処理する前に単一のデータセットにマージします。このモードは次の場合に役立ちます:
  • イベントデータが複数のファイルに分割されている場合
  • 複数のソースからイベントを処理したい場合
  • 新しいイベントを含むファイルが段階的に追加されている場合
すべてをマージモードでは、すべてのCSVファイルが完全に同じ列名と順序を持つ必要があります。

イベントデータマッピング

接続後、CSVの列をOneSignalのカスタムイベントフィールドにマッピングする必要があります:
1

検出されたフィールドを確認する

OneSignalは、イベントCSVファイルから列を自動的に検出し、マッピングを提案します。
2

必須イベントフィールドをマッピングする

カスタムイベントに必要なフィールドをマッピングします:
  • Event Name(必須):イベントの名前/タイプ
  • External ID(必須):外部ユーザーID
  • Event Timestamp(オプション):イベントが発生した時刻。指定しない場合は現在と見なされます。
3

同期設定を構成する

イベント処理の頻度と配信の設定を行います。

事件数据映射

将您的 映射到 OneSignal 的自定义事件格式:
OneSignal 字段描述必需
nameevent_name事件标识符
external_iduser_id用户标识符
timestampevent_timestamp事件发生时间
propertiesevent_data

制限事項

  • SQLクエリ: S3ソースは、イベントデータに対するSQLクエリや高度な変換をサポートしていません
  • ファイルサイズ: 個々のCSVファイルは1GBを超えないようにしてください
  • 更新頻度: 最小同期間隔は15分です
  • ファイルタイプ: CSVファイルのみがサポートされています(JSON、Parquetなどはサポートされていません)

FAQ

CSVファイルにフォーマットエラーがある場合はどうなりますか?

OneSignalは、不正な形式の行をスキップし、統合ダッシュボードに詳細なエラーログを提供します。一般的な問題には、必須列の欠落、無効なタイムスタンプ形式、および列数の不一致が含まれます。

OneSignalはどのくらいの頻度で新しいファイルをチェックしますか?

OneSignalは、構成された同期頻度に基づいてS3バケットをチェックし、最小間隔は15分です。

サポートが必要ですか?

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