Skip to main content

개요

OneSignal + Amazon S3 통합을 사용하면 S3 버킷에 저장된 CSV 파일에서 OneSignal의 Custom Events API로 직접 사용자 지정 이벤트를 자동으로 동기화할 수 있습니다. 이를 통해 데이터 웨어하우스에 저장된 실제 사용자 행동을 기반으로 자동화된 Journey 및 개인화된 메시징 캠페인을 트리거할 수 있습니다. 구매, 제품 보기, 구독 변경 또는 사용자 지정 사용자 액션과 같은 이벤트를 동기화하여 푸시 알림, Email, In-App Message 및 SMS 전반에 걸쳐 온보딩 시퀀스, 재참여 캠페인, 트랜잭션 메시지 및 타겟 프로모션을 자동으로 트리거할 수 있습니다.

요구 사항

OneSignal

  • Custom Events 기능이 활성화됨 (현재 베타 - 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로 표현
  • 쉼표가 포함된 값은 큰따옴표로 래핑해야 합니다
  • 큰따옴표가 포함된 값은 두 번째 큰따옴표로 이스케이프해야 합니다
파일 구조: OneSignal은 각 폴더 경로를 고유한 데이터 소스로 취급하며 파일 이름을 해당 경로 내 데이터의 버전으로 간주합니다. 이벤트를 처리할 때 OneSignal은 타임스탬프를 기반으로 선택한 폴더 경로에서 항상 최신 데이터를 선택합니다. S3에서 이벤트 데이터를 업데이트할 때 기존 파일을 교체하거나 최신 버전을 추가할 수 있습니다. OneSignal은 새 이벤트를 처리하고 Custom Events API로 보냅니다.

OneSignal용 IAM 역할 생성

OneSignal은 AWS 보안 모범 사례에 따라 역할 기반 인증을 사용하여 S3 버킷에 연결합니다.
1

IAM 역할 생성

OneSignal의 AWS 계정 ID (341876425553)에 대해 S3 버킷에 대한 읽기 전용 액세스를 제공하는 AWS 계정에서 IAM 역할을 생성합니다:
OneSignal 구성에 필요하므로 반환된 Role ARN을 저장하세요.
2

S3 권한 부여

새로 생성된 역할에 S3 버킷에 대한 읽기 전용 액세스 권한을 부여합니다:
YOUR_BUCKET_NAME을 실제 S3 버킷 이름으로 바꾸세요.

OneSignal S3 연결 구성

1

Data Sources로 이동

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.
2

Amazon S3 선택

사용 가능한 통합 목록에서 Amazon S3를 선택합니다.
3

연결 세부 정보 입력

다음 정보를 제공합니다:
  • Region: S3 버킷 리전
  • Bucket Name: S3 버킷 이름
  • Role ARN: 1단계의 IAM 역할 ARN
  • Prefix: 이벤트 CSV 파일이 포함된 폴더 경로 (선택 사항)
4

보안 핸드셰이크 완료

OneSignal은 고유한 외부 ID를 생성하고 다음 화면에 표시합니다. IAM 역할을 업데이트하여 이 외부 ID를 요구하도록 합니다:
GENERATED_EXTERNAL_ID를 OneSignal 대시보드에 표시된 외부 ID로 바꾸세요.
5

연결 테스트

설정이 올바르게 작동하는지 확인하려면 OneSignal에서 Test Connection을 클릭하세요.

CSV 처리 모드

OneSignal은 S3 버킷에서 이벤트 CSV 파일을 읽을 때 두 가지 모드를 지원합니다:

Most Recent (기본값)

OneSignal은 구성된 S3 접두사 및 폴더 그룹에서 가장 최근 파일만 처리합니다. 단일 파일은 처리할 전체 이벤트 세트로 해석됩니다. 이 모드는 다음과 같은 경우에 잘 작동합니다:
  • 단일 파일에 기간에 대한 모든 이벤트가 포함됨
  • 업데이트된 이벤트 데이터로 시간이 지남에 따라 새 버전의 파일이 추가됨
  • 전체 이벤트 배치를 한 번에 처리하고자 함

Merge All

OneSignal은 구성된 S3 접두사 및 폴더 그룹의 모든 파일을 가져와 이벤트를 처리하기 전에 단일 데이터 세트로 병합합니다. 이 모드는 다음과 같은 경우에 유용합니다:
  • 이벤트 데이터가 여러 파일로 분할됨
  • 여러 소스의 이벤트를 처리하고자 함
  • 새 이벤트로 점진적으로 파일이 추가됨
Merge All 모드에서는 모든 CSV 파일의 열 이름과 순서가 정확히 동일해야 합니다.

이벤트 데이터 매핑

연결되면 CSV 열을 OneSignal 사용자 지정 이벤트 필드에 매핑해야 합니다:
1

감지된 필드 검토

OneSignal은 이벤트 CSV 파일에서 열을 자동으로 감지하고 매핑을 제안합니다.
2

필수 이벤트 필드 매핑

사용자 지정 이벤트에 필요한 필드를 매핑합니다:
  • Event Name (필수): 이벤트의 이름/유형
  • External ID (필수): External User ID
  • Event Timestamp (선택 사항): 이벤트가 발생한 시간. 그렇지 않으면 현재로 간주됩니다.
3

동기화 설정 구성

이벤트 처리 빈도 및 전달 기본 설정을 설정합니다.

이벤트 데이터 매핑

를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:
Sync Key는 동기화 중 각 행의 고유 식별자로 지정하는 열입니다. OneSignal은 이를 사용하여 행이 이미 처리되었는지 감지하므로, 데이터를 다시 동기화해도 중복 이벤트가 생성되지 않습니다. 행마다 고유한 텍스트 값을 가진 열을 선택하세요. 불리언 값이나 여러 행에서 반복되는 값은 사용하지 마세요.

제한 사항

  • SQL 쿼리: S3 소스는 이벤트 데이터에 대한 SQL 쿼리 또는 고급 변환을 지원하지 않습니다
  • 파일 크기: 개별 CSV 파일은 1GB를 초과하지 않아야 합니다
  • 업데이트 빈도: 최소 동기화 간격은 15분입니다
  • 파일 유형: CSV 파일만 지원됩니다 (JSON, Parquet 등은 지원되지 않음)

FAQ

CSV 파일에 형식 오류가 있으면 어떻게 되나요?

OneSignal은 잘못된 형식의 행을 건너뛰고 통합 대시보드에 자세한 오류 로그를 제공합니다. 일반적인 문제에는 필수 열 누락, 잘못된 타임스탬프 형식 및 일관되지 않은 열 수가 포함됩니다.

OneSignal은 얼마나 자주 새 파일을 확인하나요?

OneSignal은 구성된 동기화 빈도에 따라 S3 버킷을 확인하며 최소 간격은 15분입니다.

도움이 필요하신가요?

S3 통합 설정에 대한 지원이 필요하면 support@onesignal.com으로 지원 팀에 문의하거나 인앱 채팅을 사용하세요.