메인 콘텐츠로 건너뛰기

개요

OneSignal + Microsoft Fabric 통합은 Fabric 레이크하우스 또는 웨어하우스에서 OneSignal로 사용자 지정 이벤트를 자동으로 동기화하여 사용자 행동을 기반으로 자동화된 메시징 캠페인 및 Journey를 트리거할 수 있습니다. Microsoft Fabric은 데이터 엔지니어링, 데이터 과학, 실시간 분석 및 비즈니스 인텔리전스를 단일 환경에서 결합하는 통합 분석 플랫폼입니다.

요구 사항

Microsoft Fabric

  • 작업 영역 액세스 권한이 있는 Microsoft Fabric 용량
  • 적절한 권한이 있는 Service Principal
  • 이벤트 데이터를 포함하는 SQL Endpoint(Warehouse 또는 Lakehouse)
  • 테넌트 설정에서 활성화된 외부 API 액세스

설정

1

Azure에서 Service Principal 만들기

OneSignal이 Fabric 리소스에 액세스할 수 있도록 새 Service Principal을 만드세요:
  1. Azure Portal에 로그인하세요
  2. Microsoft Entra ID > App registrations로 이동하세요
  3. + New registration을 클릭하세요
  4. 이름 입력: “OneSignal Fabric Integration”
  5. Accounts in this organizational directory only를 선택하세요
  6. Register를 클릭하세요
  7. Application (client) IDDirectory (tenant) ID를 기록하세요
  8. Certificates & secrets 아래에서 새 클라이언트 비밀을 만드세요
  9. client secret value를 기록하세요
2

Fabric 테넌트 설정 구성

Service Principal에 대한 외부 액세스를 활성화하세요:
  1. Microsoft Fabric에서 Settings > Admin portal을 클릭하세요
  2. Tenant settings로 이동하세요
  3. Developer settings 아래에서 Service principals can use Fabric APIs를 활성화하세요
  4. OneLake settings 아래에서 Users can access data stored in OneLake with apps external to Fabric을 활성화하세요
3

작업 영역 액세스 권한 부여

Fabric 작업 영역에 Service Principal을 추가하세요:
  1. 작업 영역으로 이동하세요(“My Workspace”를 사용하는 경우 공유 작업 영역 만들기)
  2. Manage Access > + Add people or groups를 클릭하세요
  3. Service Principal을 선택하세요
  4. 역할을 Contributor로 설정하세요
4

SQL 엔드포인트 가져오기

데이터 소스에 대한 SQL 연결 문자열을 가져오세요:
  1. 작업 영역에서 웨어하우스/레이크하우스 위로 마우스를 가져가세요
  2. > Settings를 클릭하세요
  3. SQL connection string을 복사하세요(호스트 이름입니다)
5

OneSignal에 연결

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.Microsoft Fabric을 선택하고 다음을 제공하세요:
  • Hostname: 4단계의 SQL 엔드포인트
  • Database/Catalog: 레이크하우스 또는 웨어하우스 이름
  • Tenant ID: 1단계의 Directory ID
  • Client ID: 1단계의 Application ID
  • Client Secret: 1단계의 Secret 값

이벤트 데이터 매핑

를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:
OneSignal 필드설명필수
nameevent_name이벤트 식별자Yes
external_iduser_id사용자 식별자Yes
timestampevent_timestamp이벤트가 발생한 시간No
propertiesevent_dataNo

이벤트 테이블 스키마 예제

-- Example Fabric table structure
CREATE TABLE user_events (
    event_name STRING,
    user_id STRING,
    event_time TIMESTAMP,
    properties JSON,
    session_id STRING,
    device_type STRING
);

처리 모드

SQL 쿼리 모드

동기화하기 전에 Fabric 데이터를 변환하는 사용자 지정 SQL 쿼리를 작성하세요:
SELECT
    event_name,
    user_id,
    event_time,
    TO_JSON(STRUCT(
        session_id,
        device_type,
        product_id
    )) as properties
FROM user_events
WHERE event_time >= CURRENT_DATE - INTERVAL 7 DAYS

테이블 모드

Fabric 작업 영역에서 전체 테이블 또는 뷰를 직접 동기화하세요. OneSignal은 자동으로 열을 이벤트 필드에 매핑합니다.

제한 사항

  • Fabric 용량이 필요합니다(평가판에서는 사용할 수 없음)
  • SQL 엔드포인트는 외부 서비스에서 액세스할 수 있어야 합니다
  • 대규모 결과 세트는 동기화 성능에 영향을 미칠 수 있습니다

FAQ

쿼리 성능을 최적화하려면 어떻게 하나요?

Fabric 테이블에서 파티셔닝 및 인덱싱을 사용하세요. 자주 액세스하는 이벤트 데이터에 대해 Materialized View를 만드는 것을 고려하세요.

레이크하우스와 웨어하우스 모두에서 동기화할 수 있나요?

예, OneSignal은 레이크하우스, 웨어하우스 및 SQL 분석 엔드포인트를 포함하여 SQL 엔드포인트를 노출하는 모든 Fabric 리소스를 지원합니다.