[Ultimate]{class="badge positive"}

Connetti Snowflake ad Experience Platform utilizzando l'API Flow Service

IMPORTANT
L'origine Snowflake è disponibile nel catalogo delle origini per gli utenti che hanno acquistato Real-Time Customer Data Platform Ultimate.

Leggi questa guida per scoprire come collegare l'account di origine Snowflake a Adobe Experience Platform utilizzando Flow Service API.

Introduzione

Questa guida richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:

  • Origini: Experience Platform consente l'acquisizione di dati da varie origini e consente di strutturare, etichettare e migliorare i dati in arrivo tramite i servizi Experience Platform.
  • Sandbox: Experience Platform fornisce sandbox virtuali che suddividono una singola istanza di Experience Platform in ambienti virtuali separati, utili per le attività di sviluppo e aggiornamento delle applicazioni di esperienza digitale.

Utilizzo delle API di Experience Platform

Per informazioni su come effettuare correttamente chiamate alle API di Experience Platform, consulta la guida introduttiva alle API di Experience Platform.

La sezione seguente fornisce informazioni aggiuntive che è necessario conoscere per connettersi correttamente a Snowflake utilizzando l'API Flow Service.

Raccogli le credenziali richieste

Per informazioni sull'autenticazione, leggere la Snowflake panoramica.

Connetti Snowflake ad Experience Platform su Azure azure

WARNING
L'autenticazione di base (o l'autenticazione della chiave dell'account) per l'origine Snowflake diventerà obsoleta a novembre 2025. Devi passare all’autenticazione basata su coppia di chiavi per continuare a utilizzare l’origine e ad acquisire i dati dal database ad Experience Platform. Per ulteriori informazioni sulla deprecazione, leggere la Snowflake guida alle best practice per ridurre i rischi di compromissione delle credenziali.

Per informazioni su come collegare l'origine Snowflake ad Experience Platform su Azure, leggere la procedura seguente.

NOTE
Impostare il flag PREVENT_UNLOAD_TO_INLINE_URL su FALSE per consentire lo scaricamento dei dati dal database Snowflake in Experience Platform.

Crea una connessione di base per Snowflake in Experience Platform su Azure azure-base

Una connessione di base mantiene le informazioni tra l’origine e Experience Platform, incluse le credenziali di autenticazione dell’origine, lo stato corrente della connessione e l’ID univoco della connessione di base. L’ID della connessione di base consente di esplorare e navigare tra i file dall’interno dell’origine e identificare gli elementi specifici che desideri acquisire, comprese le informazioni relative ai tipi di dati e ai formati.

Per creare un ID di connessione di base, eseguire una richiesta POST all'endpoint /connections fornendo le credenziali di autenticazione Snowflake come parte del corpo della richiesta.

Formato API

POST /connections
StringaConnessione
accordion
Richiesta

La richiesta seguente crea una connessione di base per Snowflake:

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection",
      "description": "Snowflake base connection",
      "auth": {
          "specName": "ConnectionString",
          "params": {
              "connectionString": "jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}"
          }
      },
      "connectionSpec": {
          "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2
Proprietà Descrizione
auth.params.connectionString Stringa di connessione utilizzata per connettersi all'istanza Snowflake. Il modello di stringa di connessione per Snowflake è jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}.
connectionSpec.id ID della specifica di connessione Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce la connessione appena creata, incluso l'identificatore univoco (id). Questo ID è necessario per esplorare i dati nell’esercitazione successiva.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Autenticazione coppia di chiavi con chiave privata crittografata
accordion
Richiesta
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with encrypted private key",
      "description": "Snowflake base connection with encrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "privateKeyPassphrase": "abcd1234",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
Proprietà Descrizione
auth.params.account Il nome dell'account Snowflake.
auth.params.username Il nome utente associato al tuo account Snowflake.
auth.params.database Il database Snowflake da cui verranno estratti i dati.
auth.params.privateKey La chiave privata crittografata con codifica Base64- dell'account Snowflake.
auth.params.privateKeyPassphrase La passphrase che corrisponde alla chiave privata.
auth.params.warehouse Il data warehouse Snowflake in uso.
connectionSpec.id ID della specifica di connessione Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id).

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Autenticazione coppia di chiavi con chiave privata non crittografata
accordion
Richiesta
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with unencrypted private key",
      "description": "Snowflake base connection with unencrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Proprietà Descrizione
auth.params.account Il nome dell'account Snowflake.
auth.params.username Il nome utente associato al tuo account Snowflake.
auth.params.database Il database Snowflake da cui verranno estratti i dati.
auth.params.privateKey Chiave privata non crittografata con codifica Base64- dell'account Snowflake.
auth.params.warehouse Il data warehouse Snowflake in uso.
connectionSpec.id ID della specifica di connessione Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id).

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}

Connetti Snowflake ad Experience Platform su Amazon Web Services (AWS) aws

AVAILABILITY
Questa sezione si applica alle implementazioni di Experience Platform in esecuzione su Amazon Web Services (AWS). Experience Platform in esecuzione su AWS è attualmente disponibile per un numero limitato di clienti. Per ulteriori informazioni sull'infrastruttura Experience Platform supportata, consulta la Panoramica multi-cloud di Experience Platform.

Per informazioni su come collegare l'origine Snowflake ad Experience Platform su AWS, leggere i passaggi seguenti.

Crea una connessione di base per Snowflake su Experience Platform in AWS aws-base

Formato API

POST /connections
Autenticazione di base

La richiesta seguente crea una connessione di base per Snowflake per acquisire dati in Experience Platform su AWS:

accordion
Richiesta
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection for Experience Platform on AWS",
      "description": "Snowflake base connection for Experience Platform on AWS",
      "auth": {
          "specName": "Basic Authentication",
          "params": {
              "host": "acme.snowflakecomputing.com",
              "port": "443",
              "username": "acme-cj123",
              "password": "{PASSWORD}",
              "database": "ACME_DB",
              "warehouse": "COMPUTE_WH",
              "schema": "{SCHEMA}"
          }
      },
      "connectionSpec": {
          "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
Proprietà Descrizione
auth.params.host L'URL host al quale il tuo account Snowflake si connette.
auth.params.port Numero di porta utilizzato da Snowflake per la connessione a un server tramite Internet.
auth.params.username Il nome utente associato al tuo account Snowflake.
auth.params.database Il database Snowflake da cui verranno estratti i dati.
auth.params.password La password associata al tuo account Snowflake.
auth.params.warehouse Il data warehouse Snowflake in uso.
auth.params.schema Il nome dello schema associato al database Snowflake. È necessario assicurarsi che anche l'utente a cui si desidera concedere l'accesso al database abbia accesso a questo schema.
accordion
Risposta

In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id).

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}
Autenticazione coppia di chiavi con chiave privata non crittografata
accordion
Richiesta
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with unencrypted private key",
      "description": "Snowflake base connection with unencrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Proprietà Descrizione
auth.params.account Il nome dell'account Snowflake.
auth.params.username Il nome utente associato al tuo account Snowflake.
auth.params.database Il database Snowflake da cui verranno estratti i dati.
auth.params.privateKey Chiave privata non crittografata con codifica Base64- dell'account Snowflake.
auth.params.warehouse Il data warehouse Snowflake in uso.
connectionSpec.id ID della specifica di connessione Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id).

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Seguendo questa esercitazione, è stata creata una connessione di base Snowflake utilizzando l'API Flow Service. Puoi utilizzare questo ID connessione di base nelle seguenti esercitazioni:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089