Skip to main content
OneSignal의 레거시 통합으로 Snowflake를 사용하는 경우 Snowflake 레거시 통합 가이드를 참조하세요. 마이그레이션 단계는 레거시에서 마이그레이션을 참조하세요.

개요

OneSignal + Snowflake 통합은 두 가지 강력한 데이터 파이프라인을 지원합니다:
  • 아웃바운드: OneSignal에서 Snowflake로 메시징 이벤트 데이터(푸시, 이메일, SMS, 인앱)를 자동으로 전송하여 분석 및 보고합니다.
  • 인바운드: Snowflake 데이터셋에서 커스텀 사용자 이벤트를 OneSignal로 동기화하여 자동화된 Journey와 개인화된 메시징을 트리거합니다.
이러한 통합을 통해 사용자 참여 데이터를 완벽하게 제어할 수 있으며, 고급 분석 및 실시간 행동 기반 메시징을 지원합니다.

아웃바운드 설정

현재 조기 액세스 단계입니다. 액세스를 요청하려면 다음 정보와 함께 support@onesignal.com으로 연락하세요:
  • 회사 이름
  • OneSignal 조직 ID
  • 활성화하려는 앱 ID
메시징 성능 및 참여 이벤트(예: 전송, 열람, 클릭)를 Snowflake로 전송하여:
  • 커스텀 대시보드 및 보고서 구축
  • 채널 전반의 전달 및 참여 추세 추적
  • OneSignal 데이터를 다른 비즈니스 데이터와 결합하여 분석
요구사항
  • OneSignal Professional 플랜 (무료 앱에서는 사용 불가)
  • Snowflake 계정
  • Snowflake의 SECURITYADMIN 또는 ACCOUNTADMIN 역할 (설정용)

1. Snowflake 계정 세부 정보 수집

통합을 구성하기 전에 Snowflake 계정에서 다음 정보를 수집합니다:
  • Snowflake 호스트: <account_identifier>.snowflakecomputing.com 형식의 계정 URL
  • 데이터베이스 이름: OneSignal이 이벤트 데이터를 작성할 데이터베이스
  • 스키마 이름: OneSignal 테이블용 데이터베이스 내 스키마 (OneSignal에 의해 자동 생성됨)
  • 웨어하우스 이름: 데이터 로딩 작업에 사용할 웨어하우스

Snowflake 계정 식별자 위치

2. Snowflake에서 설정 스크립트 실행

Snowflake 웨어하우스에서 다음 SQL 스크립트를 실행하여 OneSignal에 필요한 역할, 사용자, 웨어하우스 및 데이터베이스를 생성합니다:
스크립트 상단의 변수 값을 사용자의 명명 규칙에 맞게 사용자 정의할 수 있습니다. 기존 웨어하우스 또는 데이터베이스를 사용하는 경우 그에 따라 스크립트를 수정하세요.

3. 인증용 키 페어 생성

OneSignal은 Snowflake 계정에 안전하게 액세스하기 위해 키 페어 인증이 필요합니다. 다음 단계에 따라 키를 생성하고 구성합니다:
1

개인 키 생성

다음 명령 중 하나를 실행하여 개인 키를 생성합니다:암호화되지 않은 개인 키 (더 간단하지만 보안성이 낮음):
암호화된 개인 키 (프로덕션 권장):
암호화된 키를 사용하는 경우 암호 구문을 생성하라는 메시지가 표시됩니다. 이 암호 구문을 안전하게 저장하세요. OneSignal을 구성할 때 필요합니다.
2

공개 키 생성

개인 키에서 공개 키를 생성합니다:
3

Snowflake 사용자에게 공개 키 할당

공개 키 파일의 내용을 복사한 다음(헤더 및 바닥글 줄 제외) Snowflake에서 이 SQL 명령을 실행합니다:
<YOUR_PUBLIC_KEY_CONTENT>를 키 내용으로 바꿉니다(-----BEGIN PUBLIC KEY----------END PUBLIC KEY----- 줄 제외).
개인 키 파일을 안전하게 저장하세요. 다음 단계에서 OneSignal에 제공해야 합니다. 개인 키를 공개적으로 공유하거나 버전 제어에 커밋하지 마세요.

4. OneSignal 연결

1

통합 활성화

OneSignal에서 Data > Integrations > Snowflake로 이동합니다.
2

세부 정보 입력

  • 호스트: <your_account>.snowflakecomputing.com
  • 포트: 선택사항, 기본값은 443
  • 데이터베이스: 예: ONESIGNAL
  • 역할: 선택사항, 생략하면 사용자의 기본 역할 사용
  • 사용자: 예: ONESIGNAL_USER
  • 개인 키: 개인 키 파일(rsa_key.p8)의 내용을 붙여넣습니다
  • 개인 키 암호 구문: 선택사항, 개인 키가 암호화된 경우에만
  • 데이터 처리 위치: 데이터를 Snowflake로 보내기 전에 처리되는 위치
3

통합 구성

  • 동기화 빈도: 15분마다
  • 스키마/테이블 이름: onesignal_events_<app-id>message_events로 사전 설정됨 (편집 가능)
  • 이벤트 유형: 동기화할 이벤트 선택—전체 또는 필요한 것만 선택
4

이벤트 선택

Snowflake 웨어하우스에서 받을 이벤트를 선택합니다.
5

설정 완료

Save를 클릭하고 성공 확인을 기다립니다
초기 데이터 동기화가 Snowflake에 나타나는 데 15~30분이 걸릴 수 있습니다.기다리는 동안 푸시, 이메일, 인앱 또는 SMS를 통해 메시지를 전송하여 선택한 이벤트를 트리거합니다.

5. Snowflake에서 데이터 보기

초기 동기화가 완료되면 OneSignal 이벤트 데이터를 쿼리합니다:
스키마 누락, 권한 오류 또는 잘못된 형식의 이벤트와 같은 문제가 발생하면 support@onesignal.com으로 문의하세요.

메시지 이벤트 및 속성

메시지 이벤트 종류

속성: event_kind 유형: String 메시지 및 이벤트의 종류(예: message.push.received, message.push.sent).

이벤트 데이터 스키마

사용자가 생성한 각 메시지 이벤트에 대해 다음 메타데이터가 레코드에 첨부됩니다.

참고 사항

  • 저장/활성화 후 동기화는 완료하는 데 추가로 15-30분이 소요될 수 있습니다.
  • 비활성화하면 비활성화 후 최종 동기화가 한 번 더 발생할 수 있습니다.
  • 효율적인 데이터 동기화를 보장하기 위해 시스템은 스테이징 데이터 세트를 자동으로 생성하고 관리합니다. 이러한 데이터 세트는 fivetran_{두 개의 무작위 단어}_staging과 같은 패턴으로 이름이 지정되며, 기본 스키마에 통합되기 전에 처리 중에 데이터를 임시로 저장합니다. 이러한 스테이징 데이터 세트는 간소화된 워크플로를 유지하는 데 필수적이며 자동으로 다시 생성되므로 삭제하면 안 됩니다.

레거시에서 마이그레이션

현재 레거시 Snowflake 통합을 사용하고 있다면, 이 섹션에서 주요 차이점과 쿼리를 마이그레이션하는 방법을 다룹니다.

주요 차이점

스키마 변경사항

새 통합에서는 필요에 따라 컬럼을 생성합니다. 특정 필드에 대한 데이터를 포함하는 이벤트가 없으면 해당 컬럼은 테이블에 존재하지 않습니다. 해당 필드에 대한 데이터가 나타나면 컬럼이 자동으로 생성됩니다.

컬럼 이름 변경

타입 추론

새 통합에서는 자동 타입 추론을 사용합니다. 컬럼의 모든 값이 숫자인 경우(예: 모든 EXTERNAL_ID 값이 숫자) 컬럼이 NUMBER로 타입이 지정될 수 있습니다. 나중에 숫자가 아닌 값이 나타나면 컬럼 타입이 VARCHAR로 승격됩니다. 필요한 경우 명시적 캐스팅을 사용하세요:

쿼리 마이그레이션

기존 쿼리를 마이그레이션하려면:
  1. 레거시 데이터베이스에 대한 참조를 새 Snowflake 데이터베이스를 가리키도록 업데이트
  2. 위에 나열된 컬럼 이름 변경 사항 반영
  3. 필요한 경우 명시적 타입 캐스팅 추가
선택적으로, 새 컬럼 이름을 레거시 이름으로 별칭을 지정하는 호환성 뷰를 생성할 수 있습니다:
ONESIGNAL_DB.ONESIGNAL_EVENTS_XXXXX.MESSAGE_EVENTS를 실제 데이터베이스, 스키마 및 테이블 이름으로 바꿔주세요.
레거시 데이터 공유를 연결 해제하려면 snowflake-data-sharing@onesignal.com으로 연락하세요.

인바운드 설정

Snowflake에서 OneSignal로 행동 이벤트 데이터를 전송하여:
  • 사용자 활동을 기반으로 Journey 트리거
  • 행동 데이터를 기반으로 메시징 개인화
요구사항
  • 웨어하우스 액세스 권한이 있는 Snowflake 계정
  • Snowflake 테이블 또는 뷰에 저장된 이벤트 데이터
  • OneSignal에서 Snowflake 인스턴스로의 네트워크 연결
  • 적절한 권한이 있는 사용자 자격 증명
1

OneSignal 전용 역할 생성

Snowflake 모범 사례에 따라 역할 계층 구조를 생성합니다:
2

전용 웨어하우스 생성

OneSignal 작업을 위한 비용 최적화 웨어하우스를 생성합니다:
3

사용자 생성 및 권한 부여

OneSignal 사용자를 생성하고 이벤트 데이터에 대한 액세스 권한을 부여합니다:
4

부기 데이터베이스 생성 (고급 동기화 엔진)

OneSignal의 동기화 상태 관리를 위한 전용 데이터베이스를 생성합니다:
기본 동기화 엔진 또는 읽기 전용 모드를 사용하는 경우 이 단계를 건너뜁니다.
5

인증 구성

보안 강화를 위해 키 페어 인증(권장)을 설정합니다:
  1. Snowflake 문서에 따라 공개/개인 키 페어를 생성합니다
  2. Snowflake 사용자에 공개 키를 구성합니다
  3. OneSignal의 연결 설정에서 개인 키를 사용합니다
또는 암호 인증을 사용할 수 있습니다(더 이상 사용되지 않음 - 2025년 11월에 차단됨).
6

OneSignal에 연결

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.Snowflake를 선택하고 다음 연결 세부 정보를 제공합니다:
  • 계정 이름: Snowflake 계정 식별자 (예: abc123.us-east-1)
  • 웨어하우스: CENSUS_WAREHOUSE
  • 사용자: CENSUS
  • 데이터베이스: 이벤트 데이터 데이터베이스 이름
  • 스키마: 이벤트 데이터 스키마 이름
  • 인증: 키 페어 (개인 키 및 선택적 암호 구문 제공)

이벤트 데이터 매핑

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

이벤트 테이블 스키마 예시

SQL 쿼리 모드

이벤트 데이터를 변환하기 위한 커스텀 SQL 쿼리를 작성합니다:

고급 구성

웨어하우스 비용 관리

  • 비용 최적화를 위해 X-Small 웨어하우스 크기 사용
  • 자동 일시 중지(60초) 및 자동 재개 구성
  • 사용량이 적은 시간대에 동기화 예약
  • 다른 배치 처리 시스템과 웨어하우스 공유 고려

실시간 동기화 지원

실시간 이벤트 처리를 위해 이벤트 테이블에서 변경 추적을 활성화합니다:

네트워크 보안

Snowflake의 허용된 IP 네트워크 정책을 사용하는 경우 OneSignal의 IP 주소를 허용 목록에 추가합니다. 현재 IP 범위는 OneSignal 지원팀에 문의하세요.

제한사항

  • 복잡한 분석 쿼리는 웨어하우스 성능 및 비용에 영향을 미칠 수 있습니다
  • 사용자/암호 인증은 2025년 11월에 더 이상 사용되지 않습니다
  • CENSUS 데이터베이스는 OneSignal 작업 전용으로 예약되어 있습니다

FAQ

어떤 인증 방법을 사용해야 하나요?

키 페어 인증(권장)을 사용하세요. 사용자/암호 인증은 2025년 11월부터 Snowflake에서 차단됩니다.

기존 웨어하우스를 사용할 수 있나요?

예, 비용을 최적화하기 위해 dbt 또는 Fivetran과 같은 다른 배치 처리 시스템과 웨어하우스를 공유할 수 있습니다. 웨어하우스가 이벤트 처리 요구 사항에 충분한 용량을 갖추고 있는지 확인하세요.

비용을 최적화하려면 어떻게 해야 하나요?

  • X-Small 웨어하우스 크기 사용
  • 공격적인 자동 일시 중지(60초) 구성
  • 사용량이 적은 시간대에 동기화 예약
  • 연속 동기화 대신 시간별/일별 동기화 사용