Ultimate
Streamen von Snowflake an Experience Platform mithilfe der Flow Service-API
Erstellt für:
- Entwickler
In diesem Tutorial erfahren Sie, wie Sie mithilfe der -API Daten aus Ihrem Snowflake-Konto mit Adobe Experience Platform Flow Service und.
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 Experience Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
- Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Experience 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 Snowflake Streaming-Quelle. Bitte lesen Sie die Snowflake Übersicht über Streaming-Quellen.
Verwenden von Experience Platform-APIs
Informationen zum erfolgreichen Aufrufen von Experience Platform-APIs finden Sie im Handbuch unter mit Experience Platform-APIs.
Erstellen einer Basisverbindung
Bei einer Basisverbindung werden Informationen zwischen Ihrer Quelle und Experience Platform gespeichert, einschließlich der Authentifizierungsdaten Ihrer Quelle, des aktuellen Verbindungsstatus und Ihrer eindeutigen ID 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 Basisverbindungs-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
.connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
.Antwort
Eine erfolgreiche Antwort gibt die neu erstellte Basisverbindung und das entsprechende eTag zurück.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Erkunden von Datentabellen
Verwenden Sie als Nächstes die Basisverbindungs-ID, um die Datentabellen Ihrer Quelle zu durchsuchen und durch diese zu navigieren, indem Sie eine GET-Anfrage an den /connections/{BASE_CONNECTION_ID}/explore?objectType=root
-Endpunkt stellen und dabei Ihre Basisverbindungs-ID als Parameter angeben.
API-Format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Anfrage
Mit der folgenden Anfrage werden die Struktur und der Inhalt Ihres Snowflake Streaming-Kontos abgerufen.
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 Daten Ihrer Quelle auf der Stammebene zurück.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Erstellen einer Quellverbindung
Eine Quellverbindung erstellt und verwaltet die Verbindung zur externen Quelle, aus der Daten aufgenommen 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
festgelegt ist. Wenn nicht angegeben, ist timezoneValue
standardmäßig UTC.Antwort
Bei einer erfolgreichen Antwort werden Ihre Quellverbindungs-ID und das entsprechende eTag zurückgegeben. Die Quellverbindungs-ID 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 Ihrem Snowflake-Konto an Experience 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
Mit der folgenden Anfrage wird ein Streaming-Datenfluss für Ihr Snowflake-Konto erstellt.
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 entsprechende 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 mithilfe der Flow Service-API erstellt. In der folgenden Dokumentation finden Sie weitere Informationen zu Adobe Experience Platform-Quellen: