개요
OneSignal + Azure Synapse 통합을 사용하면 Azure Synapse Analytics 작업 영역에서 OneSignal로 사용자 지정 이벤트를 동기화하여 사용자 행동을 기반으로 자동화된 메시징 캠페인 및 Journeys를 트리거할 수 있습니다. Azure Synapse Analytics는 데이터 통합, 데이터 웨어하우징 및 분석을 결합한 Microsoft의 클라우드 기반 분석 서비스입니다.요구 사항
- 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)
Azure Synapse
- SQL 풀 액세스 권한이 있는 Azure Synapse 작업 영역
- 적절한 권한이 있는 데이터베이스 사용자
- 구조화된 행동 데이터가 포함된 이벤트 테이블
- OneSignal IP 주소에 대한 방화벽 액세스
설정
1
OneSignal용 전용 로그인 만들기
강력하고 고유한 비밀번호로 전용 로그인 및 사용자 계정을 만듭니다:
<your-database>를 이벤트 데이터가 포함된 실제 데이터베이스 이름으로 바꾸세요.2
읽기 권한 부여
이벤트 데이터에 대한 읽기 전용 액세스를 제공합니다:
<your-schema>를 이벤트 데이터가 포함된 실제 스키마 이름으로 바꾸세요. OneSignal이 액세스하도록 하려는 각 스키마에 대해 이 명령을 반복하세요.3
방화벽 액세스 구성
OneSignal IP 주소를 허용하도록 Azure Synapse 방화벽을 구성합니다.Windows Azure Management Portal을 사용하거나 기본 데이터베이스에서 sp_set_firewall_rule을 실행합니다:
해당 지역의 현재 IP 주소 범위는 OneSignal 지원팀에 문의하세요.
4
OneSignal에 연결
OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.Azure Synapse를 선택하고 다음 연결 세부 정보를 제공합니다:
- 호스트: Synapse SQL 엔드포인트 호스트 이름
- 포트: 1433 (기본값)
- 데이터베이스: 데이터베이스 이름
- 사용자 이름:
CENSUS - 비밀번호: 1단계의 비밀번호
이벤트 데이터 매핑
를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:| OneSignal 필드 | 설명 | 필수 | |
|---|---|---|---|
name | event_name | 이벤트 식별자 | Yes |
external_id | user_id | 사용자 식별자 | Yes |
timestamp | event_timestamp | 이벤트가 발생한 시간 | No |
properties | event_data | No |
예제 이벤트 테이블 스키마
SQL 쿼리 모드
사용자 지정 SQL 쿼리를 작성하여 이벤트 데이터를 변환합니다:Azure 특정 기능
분산 아키텍처
- 최적의 쿼리 성능을 위해
user_id로 분산된 이벤트 - 분석 워크로드를 위한 클러스터형 columnstore 인덱스
- 대규모 이벤트 데이터를 위한 대규모 병렬 처리(MPP)
Azure 에코시스템과의 통합
- 자동화된 이벤트 파이프라인을 위해 Azure Data Factory에 연결
- 실시간 이벤트 스트리밍을 위해 Azure Event Hubs와 통합
- 인증을 위해 Azure Active Directory 활용
고급 네트워크 구성
OneSignal은 지역 제약, IP 주소 허용 목록 또는 SSH 터널링을 포함한 고급 네트워킹 제어를 사용하는 Azure Synapse 인스턴스에 성공적으로 연결할 수 있습니다. 네트워크 액세스 구성에 대한 자세한 내용은 Azure Synapse 관리자 또는 OneSignal 지원팀에 문의하세요.제한 사항
- SQL Server JDBC 드라이버 연결 프로토콜 기반
- OneSignal IP 주소에 대한 명시적 방화벽 규칙 필요
- 복잡한 쿼리는 SQL 풀 성능 및 비용에 영향을 미칠 수 있음
- JSON 작업은 최적의 성능을 위해 신중한 인덱싱 필요
FAQ
여러 Azure Synapse 스키마에 연결할 수 있나요?
예, 이벤트 데이터가 포함된 각 스키마에 대해GRANT SELECT, VIEW DEFINITION ON SCHEMA::<schema> 문을 실행하여 CENSUS 사용자에게 여러 스키마에 대한 액세스 권한을 부여할 수 있습니다.
OneSignal에 대한 방화벽 액세스를 구성하려면 어떻게 해야 하나요?
Azure Management Portal 또는sp_set_firewall_rule을 사용하여 OneSignal의 IP 주소를 추가하세요. 현재 IP 범위는 OneSignal 지원팀에 문의하세요.