Skapa en Snowflake basanslutning med Flow Service API
Last update: Mon Jan 29 2024 00:00:00 GMT+0000 (Coordinated Universal Time)
The Snowflake Källan är tillgänglig i källkatalogen för användare som har köpt Real-time Customer Data Platform Ultimate.
En basanslutning representerar den autentiserade anslutningen mellan en källa och Adobe Experience Platform.
Använd följande självstudiekurs för att lära dig hur du skapar en basanslutning för Snowflake med [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).
Komma igång
Handboken kräver en fungerande förståelse av följande komponenter i Adobe Experience Platform:
- Källor: Experience Platform tillåter att data hämtas från olika källor samtidigt som du kan strukturera, etikettera och förbättra inkommande data med Platform tjänster.
- Sandlådor: Experience Platform innehåller virtuella sandlådor som partitionerar en enda Platform till separata virtuella miljöer för att utveckla och utveckla applikationer för digitala upplevelser.
Mer information om hur du kan anropa API:er för plattformar finns i handboken komma igång med plattforms-API:er.
Följande avsnitt innehåller ytterligare information som du behöver känna till för att kunna ansluta till Snowflake med Flow Service API.
Samla in nödvändiga inloggningsuppgifter
Du måste ange värden för följande autentiseringsegenskaper för att kunna autentisera dina Snowflake källa.
Autentisering av kontonyckel
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 |
|
Autentiseringsuppgifter |
Beskrivning |
account |
Ett kontonamn identifierar unikt ett konto inom organisationen. I det här fallet måste du unikt identifiera ett konto för olika Snowflake organisationer. Om du vill göra det måste du lägga till ditt organisationsnamn i kontonamnet. Till exempel: orgname-account_name . Mer information om kontonamn finns i Snowflake dokumentation om kontoidentifierare. |
warehouse |
The Snowflake dist.lager hanterar frågekörningsprocessen för programmet. Varje Snowflake lagerstället är oberoende av varandra och måste nås individuellt när data överförs till plattformen. |
database |
The Snowflake databasen innehåller de data som du vill ta med plattformen. |
username |
Användarnamnet för Snowflake konto. |
password |
Lösenordet för Snowflake användarkonto. |
role |
Den standardroll för åtkomstkontroll som ska användas i Snowflake session. Rollen ska vara en befintlig roll som redan har tilldelats den angivna användaren. Standardrollen är PUBLIC . |
connectionString |
Anslutningssträngen som används för att ansluta till Snowflake -instans. Anslutningssträngsmönstret för Snowflake är jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE} |
Autentisering med nyckelpar
Om du vill använda autentisering med nyckelpar måste du generera ett 2 048-bitars RSA-nyckelpar och sedan ange följande värden när du skapar ett konto för Snowflake källa.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 |
|
Autentiseringsuppgifter |
Beskrivning |
account |
Ett kontonamn identifierar unikt ett konto inom organisationen. I det här fallet måste du unikt identifiera ett konto för olika Snowflake organisationer. Om du vill göra det måste du lägga till ditt organisationsnamn i kontonamnet. Till exempel: orgname-account_name . Mer information om kontonamn finns i Snowflake dokumentation om kontoidentifierare. |
username |
Användarnamnet för Snowflake konto. |
privateKey |
The Base64-kodad privat nyckel för din Snowflake konto. Du kan generera antingen krypterade eller okrypterade privata nycklar. Om du använder en krypterad privat nyckel måste du även ange en lösenfras för den privata nyckeln vid autentisering mot Experience Platform. |
privateKeyPassphrase |
Lösenfrasen för den privata nyckeln är ett extra säkerhetslager som du måste använda när du autentiserar med en krypterad privat nyckel. Du behöver inte ange lösenfrasen om du använder en okrypterad privat nyckel. |
database |
The Snowflake databas som innehåller de data som du vill importera till Experience Platform. |
warehouse |
The Snowflake dist.lager hanterar frågekörningsprocessen för programmet. Varje Snowflake lagerstället är oberoende av varandra och måste nås individuellt när data förs över till Experience Platform. |
Mer information om dessa värden finns i Snowflake autentiseringsguide för nyckelpar.
Du måste ange PREVENT_UNLOAD_TO_INLINE_URL
flagga till FALSE
för att tillåta att data tas bort från Snowflake databas till Experience Platform.
Skapa en basanslutning
En basanslutning bevarar information mellan källan och plattformen, inklusive källans autentiseringsuppgifter, anslutningsstatus och ditt unika basanslutnings-ID. Med det grundläggande anslutnings-ID:t kan du utforska och navigera bland filer inifrån källan och identifiera de specifika objekt som du vill importera, inklusive information om deras datatyper och format.
Om du vill skapa ett basanslutnings-ID skickar du en POST till /connections
slutpunkt när du ger Snowflake autentiseringsuppgifter som en del av begärandetexten.
API-format
ConnectionString
accordion |
Begäran |
Följande begäran skapar en basanslutning för 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 |
|
Egenskap |
Beskrivning |
auth.params.connectionString |
Anslutningssträngen som används för att ansluta till Snowflake -instans. Anslutningssträngsmönstret för Snowflake är jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE} . |
connectionSpec.id |
The Snowflake anslutningsspecifikation-ID: b2e08744-4f1a-40ce-af30-7abac3e23cf3 . |
|
accordion |
svar |
Ett lyckat svar returnerar den nyligen skapade anslutningen, inklusive dess unika anslutnings-ID (id ). Detta ID krävs för att utforska dina data i nästa självstudiekurs.
code language-json |
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
|
|
Autentisering med nyckelpar med krypterad privat nyckel
accordion |
Begäran |
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 |
|
Egenskap |
Beskrivning |
auth.params.account |
Namnet på Snowflake konto. |
auth.params.username |
Användarnamnet som är associerat med din Snowflake konto. |
auth.params.database |
The Snowflake databas från vilken data hämtas. |
auth.params.privateKey |
The Base64-kodad krypterad privat nyckel för din Snowflake konto. |
auth.params.privateKeyPassphrase |
Lösenfrasen som motsvarar din privata nyckel. |
auth.params.warehouse |
The Snowflake lagerställe som du använder. |
connectionSpec.id |
The Snowflake anslutningsspecifikation-ID: b2e08744-4f1a-40ce-af30-7abac3e23cf3 . |
|
accordion |
svar |
Ett lyckat svar returnerar den nyligen skapade anslutningen, inklusive dess unika anslutnings-ID (id ). Detta ID krävs för att utforska dina data i nästa självstudiekurs.
code language-json |
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
|
|
Autentisering med nyckelpar med okrypterad privat nyckel
accordion |
Begäran |
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 |
|
Egenskap |
Beskrivning |
auth.params.account |
Namnet på Snowflake konto. |
auth.params.username |
Användarnamnet som är associerat med din Snowflake konto. |
auth.params.database |
The Snowflake databas från vilken data hämtas. |
auth.params.privateKey |
The Base64-kodad okrypterad privat nyckel för din Snowflake konto. |
auth.params.warehouse |
The Snowflake lagerställe som du använder. |
connectionSpec.id |
The Snowflake anslutningsspecifikation-ID: b2e08744-4f1a-40ce-af30-7abac3e23cf3 . |
|
accordion |
svar |
Ett lyckat svar returnerar den nyligen skapade anslutningen, inklusive dess unika anslutnings-ID (id ). Detta ID krävs för att utforska dina data i nästa självstudiekurs.
code language-json |
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
|
|
Genom att följa den här självstudiekursen har du skapat en Snowflake basanslutning med Flow Service API. Du kan använda detta grundläggande anslutnings-ID i följande självstudier: