Ultimate
Connetti Snowflake ad Experience Platform utilizzando l'API Flow Service
Creato per:
- Sviluppatore
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.
Connetti Snowflake ad Experience Platform su Azure
Per informazioni su come collegare l'origine Snowflake ad Experience Platform su Azure, leggere la procedura seguente.
Raccogli le credenziali richieste
Per autenticare l'origine Snowflake, è necessario fornire i valori per le seguenti proprietà delle credenziali.
account
orgname-account_name
. Per ulteriori informazioni, consulta la guida in recupero dell'identificatore dell'account Snowflake. Per ulteriori informazioni, consulta la Snowflake documentazione.warehouse
database
username
password
role
PUBLIC
.connectionString
jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
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.
account
orgname-account_name
. Per ulteriori informazioni, consulta la guida in recupero dell'identificatore dell'account Snowflake. Per ulteriori informazioni, consulta la Snowflake documentazione.username
privateKey
privateKeyPassphrase
database
warehouse
Per ulteriori informazioni su questi valori, fare riferimento alla Snowflake guida all'autenticazione con coppia di chiavi.
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
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
La richiesta seguente crea una connessione di base per Snowflake:
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"
}
}'
auth.params.connectionString
jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
.connectionSpec.id
b2e08744-4f1a-40ce-af30-7abac3e23cf3
.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.
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
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"
}
}'
auth.params.account
auth.params.username
auth.params.database
auth.params.privateKey
auth.params.privateKeyPassphrase
auth.params.warehouse
connectionSpec.id
b2e08744-4f1a-40ce-af30-7abac3e23cf3
.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.
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
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"
}
}'
auth.params.account
auth.params.username
auth.params.database
auth.params.privateKey
auth.params.warehouse
connectionSpec.id
b2e08744-4f1a-40ce-af30-7abac3e23cf3
.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.
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Connetti Snowflake ad Experience Platform su Amazon Web Services (AWS)
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
Formato API
POST /connections
Richiesta
La richiesta seguente crea una connessione di base per Snowflake per acquisire la data in Experience Platform su AWS:
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"
}
}'
auth.params.host
auth.params.port
auth.params.username
auth.params.database
auth.params.password
auth.params.warehouse
auth.params.schema
Risposta
In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id
). Questo ID è necessario per esplorare lo spazio di archiviazione nella prossima esercitazione.
{
"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: