Ultimate

Creare un Snowflake connessione di base tramite Flow Service API

IMPORTANT
Il 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.

Utilizza 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:

  • Sorgenti: Experience Platform consente di acquisire dati da varie origini e allo stesso tempo di strutturare, etichettare e migliorare i dati in arrivo tramite Platform servizi.
  • Sandbox: Experience Platform fornisce sandbox virtuali che permettono di suddividere un singolo Platform in ambienti virtuali separati, per facilitare lo sviluppo e l’evoluzione delle applicazioni di esperienza digitale.

Utilizzo delle API di Platform

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

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

Raccogli le credenziali richieste

Per autenticare le credenziali, è necessario fornire i valori per le seguenti proprietà Snowflake sorgente.

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, devi identificare in modo univoco un account tra diversi Snowflake organizzazioni. A questo scopo, devi anteporre il nome della tua organizzazione al nome dell’account. Ad esempio: orgname-account_name. Per ulteriori informazioni sui nomi degli account, leggere Snowflake documentazione su identificatori dell’account.
warehouse Il Snowflake warehouse gestisce il processo di esecuzione delle query per l'applicazione. Ogni Snowflake il data warehouse è indipendente l’uno dall’altro e deve essere accessibile singolarmente quando si trasferiscono i dati su Platform.
database Il Snowflake Il database contiene i dati che desideri inserire in Platform.
username Nome utente per Snowflake account.
password La password per Snowflake account utente.
role Ruolo di controllo di accesso predefinito da utilizzare nel Snowflake sessione. Il ruolo deve essere esistente e già assegnato all'utente specificato. Il ruolo predefinito è PUBLIC.
connectionString Stringa di connessione utilizzata per la connessione al Snowflake dell'istanza. Schema della 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 Snowflake sorgente.

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, devi identificare in modo univoco un account tra diversi Snowflake organizzazioni. A questo scopo, devi anteporre il nome della tua organizzazione al nome dell’account. Ad esempio: orgname-account_name. Per ulteriori informazioni sui nomi degli account, leggere Snowflake documentazione su identificatori dell’account.
username Il nome utente del Snowflake account.
privateKey Il Base64-chiave privata codificata del tuo Snowflake account. 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 Experienci 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 Snowflake database contenente i dati da acquisire in Experienci Platform.
warehouse Il Snowflake warehouse gestisce il processo di esecuzione delle query per l'applicazione. Ogni Snowflake warehouse è indipendente l'uno dall'altro e deve essere accessibile singolarmente quando si trasferiscono i dati ad Experienci Platform.

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

NOTE
È necessario impostare PREVENT_UNLOAD_TO_INLINE_URL contrassegna per FALSE per consentire lo scaricamento dei dati dal Snowflake database di cui eseguire l'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, effettua una richiesta POST al /connections endpoint durante la fornitura del Snowflake credenziali di autenticazione 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 la connessione al Snowflake dell'istanza. Schema della stringa di connessione per Snowflake è jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}.
connectionSpec.id Il Snowflake ID specifica di connessione: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce la connessione appena creata, incluso il relativo identificatore univoco di connessione (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 del tuo Snowflake account.
auth.params.username Il nome utente associato al tuo Snowflake account.
auth.params.database Il Snowflake database da cui verranno estratti i dati.
auth.params.privateKey Il Base64-chiave privata crittografata codificata del tuo Snowflake account.
auth.params.privateKeyPassphrase La passphrase che corrisponde alla chiave privata.
auth.params.warehouse Il Snowflake data warehouse in uso.
connectionSpec.id Il Snowflake ID specifica di connessione: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce la connessione appena creata, incluso il relativo identificatore univoco di connessione (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 del tuo Snowflake account.
auth.params.username Il nome utente associato al tuo Snowflake account.
auth.params.database Il Snowflake database da cui verranno estratti i dati.
auth.params.privateKey Il Base64-chiave privata non crittografata codificata del tuo Snowflake account.
auth.params.warehouse Il Snowflake data warehouse in uso.
connectionSpec.id Il Snowflake ID specifica di connessione: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Risposta

In caso di esito positivo, la risposta restituisce la connessione appena creata, incluso il relativo identificatore univoco di connessione (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, hai creato una Snowflake connessione di base tramite Flow Service API. Puoi utilizzare questo ID connessione di base nelle seguenti esercitazioni:

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