> ## 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.

# Snowflake (Eski)

> Kullanıcı davranışına dayalı otomatik Journey'leri ve kişiselleştirilmiş mesajlaşma kampanyalarını tetiklemek için Snowflake'ten OneSignal'e özel etkinlikleri senkronize edin.

export const PLATFORM_0 = "Snowflake"

export const DATA_TYPE_0 = "etkinlik verileri"

export const COLUMN_HEADER_0 = "Snowflake Sütunu"

export const PROPERTIES_DESCRIPTION_0 = "VARIANT/JSON olarak etkinlik meta verileri"

<Frame caption="OneSignal Snowflake entegrasyon genel bakışı">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/4bd3285-onesignal-snowflake-integration-2.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=c41bc1d77c30e6c282bb0bfdbcd67767" width="1280" height="720" data-path="images/docs/4bd3285-onesignal-snowflake-integration-2.png" />
</Frame>

***

## Genel Bakış

OneSignal + Snowflake entegrasyonu iki güçlü veri işlem hattını destekler:

* **Dışa Aktarma**: Analiz ve raporlama için OneSignal'den Snowflake'e mesajlaşma etkinliği verilerini (push, e-posta, SMS, uygulama içi) otomatik olarak gönderin.
* **İçe Aktarma**: Otomatik Journey'leri ve kişiselleştirilmiş mesajlaşmayı tetiklemek için Snowflake veri kümelerinizden OneSignal'e özel kullanıcı etkinliklerini senkronize edin.

Bu entegrasyonlar birlikte, kullanıcı etkileşim verileri üzerinde tam kontrol sağlar—gelişmiş analitik ve gerçek zamanlı davranış odaklı mesajlaşmayı güçlendirir.

***

## OneSignal etkinliklerini Snowflake'e aktarma

Aşağıdakiler için mesajlaşma performansı ve etkileşim etkinliklerini (örneğin, gönderimler, açılmalar, tıklamalar) Snowflake'e gönderin:

* Özel panolar ve raporlar oluşturma
* Kanallar arasında teslimat ve etkileşim eğilimlerini takip etme
* Analiz için OneSignal verilerini diğer iş verileriyle birleştirme

**Gereksinimler**

* OneSignal **Professional Planı** (ücretsiz uygulamalarda mevcut değildir).
* [Snowflake hesabı](https://docs.snowflake.com/en/user-guide/getting-started-tutorial)
* Snowflake hesabınızın `IMPORT SHARE` ve `CREATE DATABASE` rollerine sahip olduğundan emin olun.
  * Paylaşımı kabul etmek için `ACCOUNTADMIN` rolünü kullanmanızı öneririz.

**Kurulum Adımları**

### 1. Kaydolun

Snowflake entegrasyonunu etkinleştirmek için, Message Events Data için [OneSignal Marketplace listesi](https://app.snowflake.com/marketplace/listing/GZ2FQZLH2NP/onesignal-message-events-data?search=onesignal\&originTab=provider\&providerName=OneSignal\&profileGlobalName=GZSTZLH2MW) üzerinden erişim talep etmeniz gerekecek. Oradan daha fazla bilgi almak için ekibinizle iletişime geçeceğiz.

### 2. Hesap Bilgilerini Sağlayın

Ekibinizle bağlantı kurduktan sonra, sizinle veri paylaşabilmemiz için bize bazı detaylar sağlamanız gerekecek. **Snowflake Hesap Kimliğiniz** ve **Snowflake Organizasyon Kimliğiniz** gerekli olacak. Bu bilgileri almanın en kolay yolu "Copy account identifier" düğmesine tıklamaktır (aşağıda gösterildiği gibi).

<Info>
  [OneSignal Marketplace listesi](https://app.snowflake.com/marketplace/listing/GZ2FQZLH2NP/onesignal-message-events-data?search=onesignal\&originTab=provider\&providerName=OneSignal\&profileGlobalName=GZSTZLH2MW) üzerinden bizimle iletişimde olmalısınız. Ancak, hesap bilgisi sağlama hakkında başka sorularınız varsa, `snowflake-data-sharing@onesignal.com` adresine e-posta gönderebilirsiniz
</Info>

<Frame caption="Snowflake hesap tanımlayıcısını kopyalama">
  <img src="https://mintcdn.com/onesignal/4HyuQPBpu-4xjmQC/images/docs/cf472c3-Screen_Shot_2023-06-27_at_4.08.19_PM.png?fit=max&auto=format&n=4HyuQPBpu-4xjmQC&q=85&s=ad89f70c336cfa9fc66849021cdab551" width="1554" height="620" data-path="images/docs/cf472c3-Screen_Shot_2023-06-27_at_4.08.19_PM.png" />
</Frame>

Programa kabul edildiğinizde, birkaç şeye dikkat edin:

* OneSignal'den programa hoş geldiniz e-postası
* Snowflake'ten veri paylaşımının tamamlandığını bildiren e-posta

<Frame caption="Snowflake veri paylaşımı bildirim e-postası">
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/7219faf-Untitled.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=3c4af6e7ba0f66836b5a2e91689f282e" width="1238" height="1078" data-path="images/docs/7219faf-Untitled.png" />
</Frame>

### 3. Snowflake içinde veri paylaşımını kabul edin

Snowflake'ten veri paylaşımının tamamlandığını bildiren bir e-posta aldığınızda, Snowflake uygulamasına giriş yapabilmeli ve veri paylaşımını kabul edebilmelisiniz.

**Veri** → **Özel Paylaşım** bölümüne gidin, burada yeni bir Özel Paylaşılan Liste görebilmelisiniz. **Al** düğmesine tıkladığınızda, verileriniz bölgenize kopyalanmaya başlayacaktır.

<Frame caption="Snowflake özel paylaşım arayüzü">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a8dfc31-Untitled_1.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=cb692bad2c9be897bf1c40185911e594" width="1086" height="516" data-path="images/docs/a8dfc31-Untitled_1.png" />
</Frame>

**Not**: **Al** düğmesi mevcut değilse ancak bir **İstek** düğmesi varsa, paylaşımı yapmaya çalışan rolün izinleri `CREATE DATABASE` veya `IMPORT SHARE` içermemektedir. `ACCOUNTADMIN` rolüne geçmenizi öneririz.

Verilerin kopyalanması biraz zaman alacaktır. Veriler kullanılabilir olduğunda Snowflake ek bir e-posta ile takip edecektir. Şuna benzer bir iletişim kutusu görmelisiniz

<Frame caption="Veri kopyalama durumu iletişim kutusu">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/4d78360-Untitled_2.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=406c4f7f2884deea338e690e14d76e44" width="664" height="886" data-path="images/docs/4d78360-Untitled_2.png" />
</Frame>

Veriler kullanıma hazır olduğunda, listelemenizde yeni bir **Al** düğmesi mevcut olmalıdır. **Al** düğmesine tıklayın ve yeni bir iletişim kutusu ile karşılanacaksınız

<Frame caption="Veritabanı yapılandırma iletişim kutusu">
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/28ba7ca-Untitled_3.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=55e9e64a31cd20e552196d80b0fe7196" width="1320" height="1314" data-path="images/docs/28ba7ca-Untitled_3.png" />
</Frame>

Veritabanı ve veritabanı rollerinin adını tercih ettiğiniz bir şeye ayarlayın. Ardından **Al**'a tıklayın

<Frame caption="Veri paylaşımı kurulum tamamlama">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8dae239-Untitled_4.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=6ee68952c4a8e3c2cb430ba2e20ec136" width="694" height="698" data-path="images/docs/8dae239-Untitled_4.png" />
</Frame>

<Check>
  Bu kadar! Veriler artık OneSignal'den Snowflake'e senkronize ediliyor. Senkronizasyon sıklığı her 24 saatte bir kez olarak ayarlanmıştır, bu nedenle ilk veriler bir sonraki güne kadar kullanılamayabilir.
</Check>

## Etkinlikler ve Özellikler

Snowflake Marketplace'inde mevcut verilere genel bakış

### Mesaj Etkinlik Verileri

Daha fazla ayrıntı için [Etkinlik Akışları](./event-streams#event-data) bölümüne bakın.

Bir kullanıcı tarafından oluşturulan her mesaj etkinliği için, aşağıdaki meta veriler kayda eklenecektir.

| Sütun Adı                    | Tür             | Açıklama                                                                                                        | Örnek                                                 |
| ---------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| event\_id                    | UUID            | Etkinliği temsil eden benzersiz bir ID                                                                          | `dc76df03-287c-403a-aabd-b2d4fe44e5c6`                |
| event\_kind                  | string          | Gerçekleşen etkinliğin türü. Etkinlik türlerinin listesi [burada](./snowflake#message-event-kinds) bulunabilir. | `message.email.opened`                                |
| event\_impression\_timestamp | unix\_timestamp | Onesignal'in etkinliği işlediği zaman                                                                           | `1684951205`                                          |
| subscription\_id             | UUID            | Cihazı/aboneliği temsil eden benzersiz bir ID                                                                   | `6e8b6978-75a4-4882-878c-2d15a78c2409`                |
| subscription\_language       | string          | Bu aboneliğin dili                                                                                              | `en`                                                  |
| subscription\_timezone       | integer         | Bu aboneliğin belirtilen saat dilimi                                                                            | `-25200`                                              |
| subscription\_device\_type   | string          | Bu aboneliğin kullandığı cihazın türü.                                                                          | `SMS`                                                 |
| onesignal\_id                | UUID            | Gösterimi yapan kullanıcının onesignal\_id'si                                                                   | `dc76df03-287c-403a-aabd-b2d4fe44e5c6`                |
| external\_id                 | string          | Gösterimi yapan kullanıcının external\_id'si                                                                    | `MyExternalId`                                        |
| message\_id                  | UUID            | Mesajı temsil eden benzersiz bir ID                                                                             | `dc76df03-287c-403a-aabd-b2d4fe44e5c6`                |
| message\_name                | string          | Bildirim/Mesajın okunabilir ID'si                                                                               | `Campaign 1`                                          |
| message\_title               | string          | Bildirim/Mesajın Başlığı.*Şu anda yalnızca İngilizce*                                                           | `Bonus 50 coins when you play!`                       |
| message\_body                | string          | Mesajın Gövdesi. (Kısaltılmış) *Şu anda yalnızca İngilizce.*                                                    | `Play against your friends and earn an additional...` |

### Mesaj Etkinlik Türleri

Daha fazla ayrıntı için [Etkinlik Akışları](./event-streams#event-data) bölümüne bakın.

Mesaj Etkinlikleri, Snowflake Marketplace'inde sunacağımız ilk veri kategorisidir. Ek veri kategorileri için taleplerle birlikte `snowflake-data-sharing@onesignal.com` adresinden bize ulaşın!

### Veri Saklama

OneSignal'den Snowflake aracılığıyla paylaşılan veriler 30 günlük bir süre boyunca saklanır. Bu sürenin ötesinde veri koruması sağlamak için, ilgili verileri kendi tablolarınıza kopyalamanızı öneririz.

***

## Snowflake'ten etkinlikleri içe aktarma

Aşağıdakiler için Snowflake'ten OneSignal'e davranışsal etkinlik verilerini gönderin:

* Kullanıcı aktivitesine dayalı Journey'leri tetikleme
* Davranışsal verilere dayalı mesajlaşmayı kişiselleştirme

**Gereksinimler**

* Giden mesaj etkinlikleri için [Event Streams](/docs/en/event-streams)'e erişim (Plan kısıtlamaları ve aşımlar geçerlidir)
* Gelen etkinlik senkronizasyonu için [Custom Events](/docs/en/custom-events)'e erişim (Plan kısıtlamaları ve aşımlar geçerlidir)
* [Güncellenmiş Hesap Planı](https://onesignal.com/pricing) (ücretsiz uygulamalarda mevcut değildir)

- Ambar erişimi olan **Snowflake hesabı**
- Snowflake tablolarında veya görünümlerinde depolanan **Etkinlik verileri**
- OneSignal'den Snowflake örneğinize **Ağ bağlantısı**
- Uygun izinlere sahip **Kullanıcı kimlik bilgileri**

**Kurulum Adımları**

<Steps>
  <Step title="OneSignal için özel rol oluşturun">
    Snowflake en iyi uygulamalarını takip ederek bir rol hiyerarşisi oluşturun:

    ```sql theme={null}
    -- Create a role for the census user
    CREATE ROLE CENSUS_ROLE;

    -- Ensure the sysadmin role inherits any privileges the census role is granted
    GRANT ROLE CENSUS_ROLE TO ROLE SYSADMIN;
    ```
  </Step>

  <Step title="Özel ambar oluşturun">
    OneSignal işlemleri için maliyet açısından optimize edilmiş bir ambar oluşturun:

    ```sql theme={null}
    -- Create a warehouse for the census role, optimizing for cost over performance
    CREATE WAREHOUSE CENSUS_WAREHOUSE WITH
        WAREHOUSE_SIZE = XSMALL
        AUTO_SUSPEND = 60
        AUTO_RESUME = TRUE
        INITIALLY_SUSPENDED = FALSE;

    GRANT USAGE ON WAREHOUSE CENSUS_WAREHOUSE TO ROLE CENSUS_ROLE;
    GRANT OPERATE ON WAREHOUSE CENSUS_WAREHOUSE TO ROLE CENSUS_ROLE;
    GRANT MONITOR ON WAREHOUSE CENSUS_WAREHOUSE TO ROLE CENSUS_ROLE;
    ```
  </Step>

  <Step title="Kullanıcı oluşturun ve izinleri verin">
    OneSignal kullanıcısını oluşturun ve etkinlik verilerinize erişim verin:

    ```sql theme={null}
    -- Create the census user
    CREATE USER CENSUS WITH
        DEFAULT_ROLE = CENSUS_ROLE
        DEFAULT_WAREHOUSE = CENSUS_WAREHOUSE
        PASSWORD = '<strong-unique-password>';

    GRANT ROLE CENSUS_ROLE TO USER CENSUS;

    -- Grant access to your event data (replace with your actual database/schema)
    GRANT USAGE ON DATABASE "<your-database>" TO ROLE CENSUS_ROLE;
    GRANT USAGE ON SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
    GRANT SELECT ON ALL TABLES IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
    GRANT SELECT ON FUTURE TABLES IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
    GRANT SELECT ON ALL VIEWS IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
    GRANT SELECT ON FUTURE VIEWS IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
    ```
  </Step>

  <Step title="Muhasebe veritabanı oluşturun (Gelişmiş Senkronizasyon Motoru)">
    OneSignal'in senkronizasyon durum yönetimi için özel bir veritabanı oluşturun:

    ```sql theme={null}
    -- Create a private bookkeeping database
    CREATE DATABASE "CENSUS";
    GRANT ALL PRIVILEGES ON DATABASE "CENSUS" TO ROLE CENSUS_ROLE;

    CREATE SCHEMA "CENSUS"."CENSUS";
    GRANT ALL PRIVILEGES ON SCHEMA "CENSUS"."CENSUS" TO ROLE CENSUS_ROLE;
    GRANT CREATE STAGE ON SCHEMA "CENSUS"."CENSUS" TO ROLE CENSUS_ROLE;
    ```

    <Warning>
      Temel Senkronizasyon Motoru veya salt okunur mod kullanıyorsanız bu adımı atlayın.
    </Warning>
  </Step>

  <Step title="Kimlik doğrulamayı yapılandırın">
    Gelişmiş güvenlik için anahtar çifti kimlik doğrulamasını (önerilen) ayarlayın:

    1. [Snowflake'in belgelerini](https://docs.snowflake.com/en/user-guide/key-pair-auth) takip ederek bir genel/özel anahtar çifti oluşturun
    2. Snowflake kullanıcınızda genel anahtarı yapılandırın
    3. OneSignal'in bağlantı ayarlarında özel anahtarı kullanın

    Alternatif olarak, parola kimlik doğrulaması kullanabilirsiniz (kullanımdan kaldırılmıştır - Kasım 2025'te engellenecektir).
  </Step>

  <Step title="OneSignal'e bağlanın">
    OneSignal'da, **Veri > Entegrasyonlar**'a gidin ve **Entegrasyon Ekle**'ye tıklayın.

    **Snowflake**'i seçin ve aşağıdaki bağlantı ayrıntılarını sağlayın:

    * **Hesap Adı:** Snowflake hesap tanımlayıcınız (örneğin, `abc123.us-east-1`)
    * **Ambar:** `CENSUS_WAREHOUSE`
    * **Kullanıcı:** `CENSUS`
    * **Veritabanı:** Etkinlik veri veritabanı adınız
    * **Şema:** Etkinlik veri şemanızın adı
    * **Kimlik Doğrulama:** Anahtar çifti (özel anahtar ve isteğe bağlı parola sağlayın)
  </Step>
</Steps>

***

### Etkinlik veri eşleştirme

{PLATFORM_0} {DATA_TYPE_0} verilerinizi OneSignal'ın özel etkinlik formatına eşleştirin:

| OneSignal Alanı | {COLUMN_HEADER_0} | Açıklama                       | Gerekli |
| --------------- | ----------------- | ------------------------------ | ------- |
| `name`          | `event_name`      | Etkinlik tanımlayıcı           | Evet    |
| `external_id`   | `user_id`         | Kullanıcı tanımlayıcı          | Evet    |
| `timestamp`     | `event_timestamp` | Etkinliğin gerçekleştiği zaman | Hayır   |
| `properties`    | `event_data`      | {PROPERTIES_DESCRIPTION_0}     | Hayır   |

#### Örnek Etkinlik Tablosu Şeması

```sql theme={null}
-- Example Snowflake event table
CREATE TABLE analytics.user_events (
    event_id STRING,
    event_name STRING NOT NULL,
    user_id STRING NOT NULL,
    event_timestamp TIMESTAMP_TZ DEFAULT CURRENT_TIMESTAMP(),
    event_properties VARIANT,
    session_id STRING,
    device_type STRING
);
```

#### SQL Sorgu Modu

Etkinlik verilerinizi dönüştürmek için özel SQL sorguları yazın:

```sql theme={null}
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_properties
FROM analytics.user_events
WHERE event_timestamp >= DATEADD(day, -7, CURRENT_TIMESTAMP())
    AND event_properties:value::NUMBER > 100
ORDER BY event_timestamp DESC;
```

### Gelişmiş yapılandırma

#### Ambar Maliyetlerini Yönetme

* Maliyet optimizasyonu için X-Small ambar boyutunu kullanın
* Otomatik askıya alma (60 saniye) ve otomatik devam ettirmeyi yapılandırın
* Yoğun olmayan saatlerde senkronizasyonları planlayın
* Ambarı diğer toplu işleme sistemleriyle paylaşmayı düşünün

#### Canlı Senkronizasyon Desteği

Gerçek zamanlı etkinlik işleme için, etkinlik tablolarınızda değişiklik takibini etkinleştirin:

```sql theme={null}
ALTER TABLE "analytics"."user_events" SET CHANGE_TRACKING = TRUE;
```

#### Ağ Güvenliği

Snowflake'in İzin Verilen IP'ler ağ politikasını kullanıyorsanız, OneSignal'in IP adreslerini izin listenize ekleyin. Güncel IP aralıkları için OneSignal desteğine başvurun.

***

## Sınırlamalar

* Karmaşık analitik sorgular ambar performansını ve maliyetlerini etkileyebilir
* Kullanıcı/Parola kimlik doğrulaması Kasım 2025'te kullanımdan kaldırılacaktır
* CENSUS veritabanı yalnızca OneSignal işlemleri için ayrılmıştır

***

## OneSignal ile veri paylaşımını kesme

OneSignal ile veri paylaşımınızı devre dışı bırakma talebi için lütfen bize `snowflake-data-sharing@onesignal.com` adresinden e-posta gönderin.

***

## SSS

### Hangi kimlik doğrulama yöntemini kullanmalıyım?

**Anahtar çifti kimlik doğrulamasını** (önerilen) kullanın. Kullanıcı/Parola kimlik doğrulaması Kasım 2025'ten itibaren Snowflake tarafından engellenecektir.

### Mevcut bir ambar kullanabilir miyim?

Evet, maliyetleri optimize etmek için bir ambarı dbt veya Fivetran gibi diğer toplu işleme sistemleriyle paylaşabilirsiniz. Ambarın etkinlik işleme ihtiyaçlarınız için yeterli kapasiteye sahip olduğundan emin olun.

### Maliyetleri nasıl optimize edebilirim?

* X-Small ambar boyutunu kullanın
* Agresif otomatik askıya alma (60 saniye) yapılandırın
* Yoğun olmayan saatlerde senkronizasyonları planlayın
* Sürekli senkronizasyon yerine saatlik/günlük senkronizasyonlar kullanın

***
