[Ultimate]{class="badge positive"}

Creare una connessione di base Snowflake 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.

Una connessione di base rappresenta la connessione autenticata tra un'origine e Adobe Experience Platform.

Utilizzare il seguente tutorial per scoprire come creare una connessione di base per Snowflake utilizzando [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).

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 Platform.
  • Sandbox: Experience Platform fornisce sandbox virtuali che suddividono una singola istanza di Platform in ambienti virtuali separati, utili per le attività di sviluppo e aggiornamento delle applicazioni di esperienza digitale.

Utilizzo delle API di Platform

Per informazioni su come effettuare correttamente chiamate alle API di Platform, consulta la guida in guida introduttiva alle API di 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 autenticare l'origine Snowflake, è necessario fornire i valori per le seguenti proprietà delle credenziali.

Autenticazione chiave account
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
Credenziali Descrizione
account Un nome di account identifica in modo univoco un account all’interno dell’organizzazione. In questo caso, è necessario identificare in modo univoco un account tra diverse Snowflake organizzazioni. A questo scopo, devi anteporre il nome della tua organizzazione al nome dell’account. Esempio: orgname-account_name. Per ulteriori informazioni sui nomi di account, leggere la documentazione di Snowflake su identificatori di account.
warehouse Il data warehouse Snowflake gestisce il processo di esecuzione delle query per l'applicazione. Ogni data warehouse Snowflake è indipendente l'uno dall'altro e deve essere accessibile singolarmente quando si trasferiscono i dati a Platform.
database Il database Snowflake contiene i dati che si desidera inserire nella piattaforma.
username Nome utente per l'account Snowflake.
password Password per l'account utente Snowflake.
role Ruolo di controllo di accesso predefinito da utilizzare nella sessione Snowflake. Il ruolo deve essere esistente e già assegnato all'utente specificato. Il ruolo predefinito è PUBLIC.
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}
Autenticazione coppia di chiavi

Per utilizzare l'autenticazione con coppia di chiavi, è necessario generare una coppia di chiavi RSA a 2048 bit e quindi fornire i seguenti valori durante la creazione di un account per l'origine Snowflake.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Credenziali Descrizione
account Un nome di account identifica in modo univoco un account all’interno dell’organizzazione. In questo caso, è necessario identificare in modo univoco un account tra diverse Snowflake organizzazioni. A questo scopo, devi anteporre il nome della tua organizzazione al nome dell’account. Esempio: orgname-account_name. Per ulteriori informazioni sui nomi di account, leggere la documentazione di Snowflake su identificatori di account.
username Il nome utente dell'account Snowflake.
privateKey La chiave privata con codifica Base64- del tuo account Snowflake. Puoi generare chiavi private crittografate o non crittografate. Se utilizzi una chiave privata crittografata, devi anche fornire una passphrase di chiave privata durante l’autenticazione in base a Experience Platform.
privateKeyPassphrase La passphrase per chiave privata è un ulteriore livello di sicurezza da utilizzare per l'autenticazione con una chiave privata crittografata. Se si utilizza una chiave privata non crittografata, non è necessario fornire la passphrase.
database Il database Snowflake che contiene i dati da acquisire per l'Experience Platform.
warehouse Il data warehouse Snowflake gestisce il processo di esecuzione delle query per l'applicazione. Ogni data warehouse Snowflake è indipendente l'uno dall'altro e deve essere accessibile singolarmente quando si trasferiscono i dati all'Experience Platform.

Per ulteriori informazioni su questi valori, fare riferimento alla Snowflake guida all'autenticazione con coppia di chiavi.

NOTE
È necessario impostare il flag PREVENT_UNLOAD_TO_INLINE_URL su FALSE per consentire lo scaricamento dei dati dal database Snowflake su Experience Platform.

Creare una connessione di base

Una connessione di base mantiene le informazioni tra l’origine e 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, effettuare 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 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 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 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}",
            "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 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\""
}

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