[Ultimate]{class="badge positive"}
Snowflake-Daten mithilfe der Flow Service-API an Experience Platform streamen
In diesem Tutorial erfahren Sie, wie Sie mithilfe der Flow Service API Daten von Ihrem Snowflake-Konto mit Adobe Experience Platform verbinden und streamen können.
Erste Schritte
Dieses Handbuch setzt ein Verständnis der folgenden Komponenten von Adobe Experience Platform voraus:
- Quellen: Experience Platform ermöglicht die Aufnahme von Daten aus verschiedenen Quellen und bietet Ihnen die Möglichkeit, die eingehenden Daten mithilfe von Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
- Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Platform-Instanz in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse entwickeln und weiterentwickeln können.
Für die erforderliche Einrichtung und Informationen zur Streaming-Quelle Snowflake. Lesen Sie die Snowflake Streaming-Quellübersicht.
Verwenden von Platform-APIs
Informationen zum Aufrufen von Platform-APIs finden Sie im Handbuch unter Erste Schritte mit Platform-APIs.
Erstellen einer Basisverbindung create-a-base-connection
Bei einer Basisverbindung werden Informationen zwischen Ihrer Quelle und Platform gespeichert, einschließlich der Authentifizierungs-Anmeldedaten Ihrer Quelle, des aktuellen Verbindungsstatus und Ihrer eindeutigen Kennung der Basisverbindung. Mit der Kennung der Basisverbindung können Sie Dateien aus Ihrer Quelle heraus analysieren und darin navigieren und die spezifischen Elemente identifizieren, die Sie erfassen möchten, einschließlich Informationen zu ihren Datentypen und Formaten.
Um eine Basis-Verbindungs-ID zu erstellen, stellen Sie eine POST-Anfrage an den /connections
-Endpunkt und geben Sie dabei Ihre Snowflake-Authentifizierungsdaten als Teil des Anfragetexts an.
API-Format
POST /connections
Anfrage
Die folgende Anfrage erstellt eine Basisverbindung für Snowflake:
auth.specName
muss genau wie im folgenden Beispiel eingegeben werden, einschließlich der Leerzeichen.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": "Basic Authentication for Snowflake",
"params": {
"account": "wixnnnd-ui60793.snowflakecomputing.com",
"database": "ACME_DB",
"warehouse": "ACME_WH",
"username": "nikola15",
"schema": "PUBLIC",
"password": "xxxx",
"role": "ACCOUNTADMIN"
}
},
"connectionSpec": {
"id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
"version": "1.0"
}
}'
auth.params.account
auth.params.database
auth.params.warehouse
auth.params.username
auth.params.schema
auth.params.password
auth.params.role
public
verwendet.connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
.Antwort
Eine erfolgreiche Antwort gibt die neu erstellte Basisverbindung und das zugehörige eTag zurück.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Datentabellen durchsuchen explore-your-data-tables
Verwenden Sie als Nächstes die Basis-Verbindungs-ID, um die Datentabellen Ihrer Quelle zu untersuchen und durch sie zu navigieren, indem Sie eine GET-Anfrage an den /connections/{BASE_CONNECTION_ID}/explore?objectType=root
-Endpunkt senden und dabei Ihre Basis-Verbindungs-ID als Parameter angeben.
API-Format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Anfrage
Die folgende Anfrage ruft die Struktur und den Inhalt Ihres Snowflake-Streaming-Kontos ab.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/1b614dc0-b76e-41e1-b25f-09f4a9d3f111/explore?objectType=root' \
-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}'
Antwort
Eine erfolgreiche Antwort gibt die Struktur und den Inhalt der Quelldaten auf der Stammebene zurück.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Erstellen einer Quellverbindung create-a-source-connection
Eine Quellverbindung erstellt und verwaltet die Verbindung zur externen Quelle, von der aus Daten erfasst werden.
Um eine Quellverbindung zu erstellen, stellen Sie eine POST-Anfrage an den /sourceConnections
-Endpunkt der Flow Service-API.
API-Format
POST /sourceConnections
Anfrage
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'authorization: Bearer {ACCESS_TOKEN}' \
-H 'content-type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"name": "Snowflake Streaming Source Connection",
"description": "A source connection for Snowflake Streaming data",
"baseConnectionId": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"connectionSpec": {
"id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
"version": "1.0"
},
"params": {
"tableName": "ACME",
"timestampColumn": "dOb",
"backfill": "true",
"timezoneValue": "PST"
}
}'
baseConnectionId
connectionSpec.id
params.tableName
params.timestampColumn
params.backfill
params.timezoneValue
TIMESTAMP_NTZ
gesetzt ist. Wenn nichts angegeben ist, wird standardmäßig UTC verwendet.timezoneValue
Antwort
Bei einer erfolgreichen Antwort werden Ihre Kennung der Quellverbindung und das zugehörige eTag zurückgegeben. Die Kennung der Quellverbindung wird in einem späteren Schritt zum Erstellen eines Datenflusses verwendet.
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Erstellen eines Datenflusses
Um einen Datenfluss zum Streamen von Daten aus dem Tour Snowflake -Konto an Platform zu erstellen, müssen Sie eine POST-Anfrage an den /flows
-Endpunkt senden und dabei die folgenden Werte angeben:
API-Format
POST /flows
Anfrage
Die folgende Anfrage erstellt einen Streaming-Datenfluss für Ihr Snowflake -Konto.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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 Streaming Dataflow",
"description": "A dataflow for Snowflake streaming data",
"sourceConnectionIds": [
"61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6"
],
"targetConnectionIds": [
"78f41c31-3652-4a5e-b264-74331226dcf3"
],
"flowSpec": {
"id": "c1a19761-d2c7-4702-b9fa-fe91f0613e81",
"version": "1.0"
},
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "44d42ed27c46499a80eb0c0705c38cbd",
"mappingVersion": 0
}
}
]
}'
sourceConnectionIds
targetConnectionIds
flowSpec.id
c1a19761-d2c7-4702-b9fa-fe91f0613e81
.transformations.params.mappingId
Antwort
Bei einer erfolgreichen Antwort werden Ihre Fluss-ID und das zugehörige eTag zurückgegeben.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Nächste Schritte
In diesem Tutorial haben Sie einen Streaming-Datenfluss für Ihre Snowflake -Daten mithilfe der Flow Service -API erstellt. Weitere Informationen zu Adobe Experience Platform-Quellen finden Sie in der folgenden Dokumentation: