개요
OneSignal + Amazon Athena 통합은 Athena 데이터 레이크에서 OneSignal의 Custom Events 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 Query Results Bucket
- 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 Query Results Bucket URL
- AWS Region
- Athena Workgroup(기본값: “primary”)
OneSignal Athena 연결 구성
1
통합으로 이동
OneSignal에서 Data > Integrations으로 이동하여 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
연결 테스트
연결 테스트를 클릭하여 OneSignal이 Athena 인스턴스에 액세스하고 쿼리를 실행할 수 있는지 확인합니다.
대안: 역할 기반 액세스
보안 강화를 위해 액세스 키 대신 IAM 역할을 사용할 수 있습니다:1
역할 기반 액세스 활성화
Athena 연결 설정에서 역할 사용을 선택하고 액세스 키를 비워 둡니다.
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, 이메일 또는 전화번호 열
- Event Timestamp: 이벤트가 발생한 시간(선택 사항)
3
이벤트 페이로드 데이터 매핑
추가 열을 이벤트 페이로드 속성에 매핑합니다:
- 사용자 지정 이벤트 속성(product_id, price, category 등)
- 컨텍스트 데이터(source, campaign 등)
- 행동 지표(value, quantity 등)
4
동기화 설정 구성
이벤트 처리 빈도 및 전달 기본 설정을 설정합니다.
이벤트 데이터 매핑
를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:| OneSignal 필드 | 설명 | 필수 | |
|---|---|---|---|
name | event_name | 이벤트 식별자 | Yes |
external_id | user_id | 사용자 식별자 | Yes |
timestamp | event_timestamp | 이벤트가 발생한 시간 | No |
properties | event_data | No |
제한 사항
- 쿼리 성능: Athena는 쿼리 및 스캔된 데이터당 요금을 부과합니다. 이벤트 테이블을 최적화하세요
- S3 종속성: 올바르게 구성된 S3 버킷 및 Glue 카탈로그가 필요합니다
- 데이터 신선도: 이벤트 동기화 빈도는 S3 데이터가 업데이트되는 빈도에 따라 달라집니다
FAQ
Athena 쿼리가 실패하면 어떻게 되나요?
OneSignal은 쿼리 오류를 기록하고 실패한 쿼리를 재시도합니다. 지속적인 실패가 발생하면 IAM 권한 및 S3 버킷 액세스를 확인하세요.OneSignal은 얼마나 자주 이벤트를 동기화하나요?
OneSignal은 구성된 동기화 빈도를 기반으로 새 이벤트를 확인하며 최소 간격은 15분입니다.도움이 필요하신가요?
Athena 통합 설정에 대한 지원이 필요하면support@onesignal.com으로 지원팀에 문의하거나 인앱 채팅을 사용하세요.