> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AlloyDB

> Google AlloyDB에서 OneSignal로 사용자 지정 이벤트를 동기화하여 사용자 행동을 기반으로 자동화된 Journeys 및 개인화된 메시징 캠페인을 트리거하세요.

export const PLATFORM_0 = "AlloyDB"

export const DATA_TYPE_0 = "table columns"

export const COLUMN_HEADER_0 = "AlloyDB Column"

export const PROPERTIES_DESCRIPTION_0 = "Event metadata as JSON object"

## 개요

OneSignal + Google AlloyDB 통합은 AlloyDB 데이터베이스에서 OneSignal의 Custom Events API로 사용자 지정 이벤트를 자동으로 동기화할 수 있습니다. 이를 통해 데이터베이스에 저장된 실제 사용자 행동을 기반으로 자동화된 Journeys 및 개인화된 메시징 캠페인을 트리거할 수 있습니다.

구매, 제품 보기, 구독 변경 또는 모든 사용자 지정 사용자 작업과 같은 이벤트를 동기화하여 푸시 알림, 이메일, 인앱 메시지 및 SMS를 통해 온보딩 시퀀스, 재참여 캠페인, 트랜잭션 메시지 및 타겟팅된 프로모션을 자동으로 트리거할 수 있습니다.

***

## 요구 사항

* Access to [Event Streams](/docs/en/event-streams) for outbound message events (Plan limitations and overages apply)
* Access to [Custom Events](/docs/en/custom-events) for inbound event syncing (Plan limitations and overages apply)
* [Updated Account Plan](https://onesignal.com/pricing) (not available on free apps)

### Google AlloyDB

* AlloyDB 인스턴스가 있는 **Google Cloud Platform** 계정
* Google Cloud에서 요구하는 대로 구성된 **Auth Proxy**
* 사용자를 생성하고 액세스 권한을 부여하기 위한 **데이터베이스 권한**
* AlloyDB 인스턴스에 대한 **네트워크 액세스**

***

## 설정

### AlloyDB 권한 구성

OneSignal은 AlloyDB 데이터베이스에서 이벤트 데이터를 읽어야 합니다. 이벤트 테이블에 대한 읽기 전용 액세스 권한이 있는 전용 `ONESIGNAL` 사용자 계정을 생성하는 것이 좋습니다.

<Steps>
  <Step title="OneSignal 데이터베이스 사용자 생성">
    강력하고 고유한 비밀번호로 전용 사용자 계정을 생성합니다:

    ```sql theme={null}
    -- Create the OneSignal user
    CREATE USER ONESIGNAL WITH PASSWORD '<strong, unique password>';
    ```
  </Step>

  <Step title="스키마 액세스 권한 부여">
    OneSignal 사용자에게 이벤트 데이터 스키마에서 읽을 수 있는 액세스 권한을 부여합니다:

    ```sql theme={null}
    -- Let the OneSignal user see your event schema
    GRANT USAGE ON SCHEMA "<your_event_schema>" TO ONESIGNAL;

    -- Let the OneSignal user read all existing tables in this schema
    GRANT SELECT ON ALL TABLES IN SCHEMA "<your_event_schema>" TO ONESIGNAL;

    -- Let the OneSignal user read any new tables added to this schema
    ALTER DEFAULT PRIVILEGES IN SCHEMA "<your_event_schema>" GRANT SELECT ON TABLES TO ONESIGNAL;
    ```

    <Info>
      `<your_event_schema>`를 이벤트 테이블이 포함된 실제 스키마로 바꾸세요.
    </Info>
  </Step>

  <Step title="함수 권한 부여(필요한 경우)">
    이벤트 데이터에 저장 프로시저 또는 함수를 사용하는 경우:

    ```sql theme={null}
    -- Let the OneSignal user execute functions in this schema
    GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA "<your_event_schema>" TO ONESIGNAL;

    -- Let the OneSignal user execute any new functions added to this schema
    ALTER DEFAULT PRIVILEGES IN SCHEMA "<your_event_schema>" GRANT EXECUTE ON FUNCTIONS TO ONESIGNAL;
    ```
  </Step>
</Steps>

### Auth Proxy 설정

<Steps>
  <Step title="Auth Proxy 구성">
    AlloyDB는 타사 연결을 위해 Auth Proxy가 필요합니다. 이를 설정하려면 [Google의 Auth Proxy 문서](https://cloud.google.com/alloydb/docs/auth-proxy/overview)를 따르세요.

    <Warning>
      Auth Proxy가 필요합니다. OneSignal은 이것 없이 AlloyDB에 직접 연결할 수 없습니다.
    </Warning>
  </Step>

  <Step title="연결 세부 정보 기록">
    다음 연결 정보를 저장합니다:

    * **Host**: Auth Proxy 엔드포인트
    * **Port**: Auth Proxy 포트(일반적으로 5432)
    * **Database**: AlloyDB 데이터베이스 이름
    * **Username**: `ONESIGNAL`(위에서 생성됨)
    * **Password**: 설정한 비밀번호
  </Step>
</Steps>

### OneSignal AlloyDB 연결 구성

<Steps>
  <Step title="통합으로 이동">
    OneSignal에서 **Data > Integrations**으로 이동하여 **Add Integration**을 클릭합니다.
  </Step>

  <Step title="Google AlloyDB 선택">
    사용 가능한 통합 목록에서 **Google AlloyDB**를 선택합니다.
  </Step>

  <Step title="연결 세부 정보 입력">
    AlloyDB 연결 정보를 제공합니다:

    * **Host**: Auth Proxy 엔드포인트
    * **Port**: Auth Proxy 포트
    * **Database**: AlloyDB 데이터베이스 이름
    * **Username**: `ONESIGNAL`
    * **Password**: 사용자 비밀번호
    * **SSL**: 활성화됨(권장)
  </Step>

  <Step title="연결 테스트">
    **연결 테스트**를 클릭하여 OneSignal이 AlloyDB 인스턴스에 액세스할 수 있는지 확인합니다.
  </Step>
</Steps>

***

## 이벤트 데이터 매핑

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

<Steps>
  <Step title="이벤트 테이블 선택">
    OneSignal과 동기화하려는 이벤트 데이터가 포함된 테이블을 선택합니다.
  </Step>

  <Step title="필수 이벤트 필드 매핑">
    사용자 지정 이벤트에 필요한 필드를 매핑합니다:

    * **Event Name**: 이벤트 유형이 포함된 열(예: "purchase", "signup")
    * **User Identifier**: External User ID, 이메일 또는 전화번호 열
    * **Event Timestamp**: 이벤트가 발생한 시간(선택 사항)
  </Step>

  <Step title="이벤트 페이로드 데이터 매핑">
    추가 열을 이벤트 페이로드 속성에 매핑합니다:

    * 사용자 지정 이벤트 속성(product\_id, price, category 등)
    * 컨텍스트 데이터(source, campaign 등)
    * 행동 지표(value, quantity 등)
  </Step>

  <Step title="동기화 설정 구성">
    이벤트 처리 빈도 및 전달 기본 설정을 설정합니다.
  </Step>
</Steps>

***

### 이벤트 데이터 매핑

{PLATFORM_0} {DATA_TYPE_0}를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:

| OneSignal 필드  | {COLUMN_HEADER_0} | 설명                         | 필수  |
| ------------- | ----------------- | -------------------------- | --- |
| `name`        | `event_name`      | 이벤트 식별자                    | Yes |
| `external_id` | `user_id`         | 사용자 식별자                    | Yes |
| `timestamp`   | `event_timestamp` | 이벤트가 발생한 시간                | No  |
| `properties`  | `event_data`      | {PROPERTIES_DESCRIPTION_0} | No  |

***

## 고급 네트워크 구성

### IP 주소 허용 목록

AlloyDB 인스턴스가 IP 허용 목록을 사용하는 경우 OneSignal의 IP 주소를 추가하세요. OneSignal 대시보드의 **데이터 > 통합 > 네트워크 액세스**에서 현재 IP 범위를 확인할 수 있습니다.

### SSH 터널링

OneSignal은 추가 보안을 위해 SSH 터널을 통한 AlloyDB 연결을 지원합니다:

<Steps>
  <Step title="SSH 사용자 생성">
    SSH 호스트 서버에 OneSignal용 전용 사용자 계정을 생성합니다.
  </Step>

  <Step title="SSH 터널 구성">
    OneSignal AlloyDB 연결 설정에서 **SSH 터널 사용**을 활성화하고 다음을 제공합니다:

    * SSH Host
    * SSH Port
    * SSH Username
  </Step>

  <Step title="SSH 키 추가">
    OneSignal이 SSH 키 쌍을 생성합니다. OneSignal 사용자를 위해 SSH 호스트의 `authorized_keys` 파일에 공개 키를 복사합니다.
  </Step>
</Steps>

***

## 제한 사항

* **성능**: 사용량이 많은 시간 동안 프로덕션 데이터베이스에 연결하지 마세요
* **권한**: OneSignal은 이벤트 테이블에 대한 읽기 전용 액세스가 필요합니다
* **Auth Proxy**: 모든 AlloyDB 연결에 필요합니다

***

## FAQ

### 이벤트 테이블 구조가 변경되면 어떻게 되나요?

OneSignal이 스키마 변경을 감지하고 필드를 다시 매핑해야 할 수 있습니다. 통합 설정에서 필드 매핑을 업데이트하세요.

### OneSignal은 얼마나 자주 이벤트를 동기화하나요?

OneSignal은 구성된 동기화 빈도를 기반으로 새 이벤트를 확인하며 최소 간격은 15분입니다.

***

## 도움이 필요하신가요?

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