In diesem Tutorial erfahren Sie, wie Sie Daten aus Ihrem Snowflake -Konto in Adobe Experience Platform mithilfe der [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).
Dieses Handbuch setzt ein Verständnis der folgenden Komponenten von Adobe Experience Platform voraus:
Für die Einrichtung der Voraussetzungen und Informationen zum Snowflake Streaming-Quelle. Bitte lesen Sie die Snowflake Streaming-Quellübersicht.
Informationen zum Aufrufen von Platform-APIs finden Sie im Handbuch unter Erste Schritte mit Platform-APIs.
Bei einer Basisverbindung werden Informationen zwischen Ihrer Quelle und Platform gespeichert, einschließlich der Authentifizierungsdaten 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 die /connections
Endpunkt beim Bereitstellen Snowflake Authentifizierungsberechtigungen als Teil des Anfragetexts.
API-Format
POST /connections
Anfrage
Die folgende Anfrage erstellt eine Basisverbindung für Snowflake:
Die auth.specName
-Wert genau wie im Beispiel unten angegeben 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"
}
}'
Eigenschaft | Beschreibung |
---|---|
auth.params.account |
Der Name Ihres Snowflake Streaming-Konto. |
auth.params.database |
Der Name Ihres Snowflake Datenbank, aus der Daten abgerufen werden. |
auth.params.warehouse |
Der Name Ihres Snowflake Warehouse. Die Snowflake Warehouse verwaltet den Prozess der Ausführung der Abfrage für die Anwendung. Jedes Warehouse ist unabhängig voneinander und muss einzeln aufgerufen werden, wenn Daten an Platform übermittelt werden. |
auth.params.username |
Der Benutzername für Ihre Snowflake Streaming-Konto. |
auth.params.schema |
(Optional) Das Datenbankschema, das mit Ihrer Snowflake Streaming-Konto. |
auth.params.password |
Das Kennwort für Ihre Snowflake Streaming-Konto. |
auth.params.role |
(Optional) Die Rolle des Benutzers für diese Snowflake Verbindung. Wenn dieser Wert nicht angegeben wird, wird standardmäßig public . |
connectionSpec.id |
Die Snowflake-Verbindungsspezifikations-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\""
}
Verwenden Sie anschließend die Basis-Verbindungs-ID, um die Datentabellen Ihrer Quelle zu durchsuchen und durch sie zu navigieren, indem Sie eine GET-Anfrage an die /connections/{BASE_CONNECTION_ID}/explore?objectType=root
-Endpunkt bei der Bereitstellung Ihrer Basis-Verbindungs-ID als Parameter angeben.
API-Format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
Parameter | Beschreibung |
---|---|
{BASE_CONNECTION_ID} |
Die Kennung der Basisverbindung Ihrer Snowflake Streaming-Quelle. |
Anfrage
Die folgende Anfrage ruft die Struktur und den Inhalt Ihrer Snowflake Streaming-Konto.
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"
}
]
}
Eigenschaft | Beschreibung |
---|---|
items.type |
Der Typ der Tabelle. |
items.names |
Der Name der Tabelle. |
Eine Quellverbindung erstellt und verwaltet die Verbindung zu der externen Quelle, aus der 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"
}
}'
Eigenschaft | Beschreibung |
---|---|
baseConnectionId |
Die authentifizierte Basis-Verbindungs-ID für Ihre Snowflake Streaming-Quelle. Diese ID wurde in einem früheren Schritt generiert. |
connectionSpec.id |
Die Verbindungsspezifikations-ID für die Snowflake Streaming-Quelle. |
params.tableName |
Der Name der Tabelle in Snowflake -Datenbank, die Sie in Platform importieren möchten. |
params.timestampColumn |
Der Name der Zeitstempelspalte, die zum Abrufen inkrementeller Werte verwendet wird. |
params.backfill |
Eine boolesche Kennzeichnung, die bestimmt, ob Daten vom Anfang (0 Epochenzeit) oder von dem Zeitpunkt an abgerufen werden, zu dem die Quelle initiiert wird. Weitere Informationen zu diesem Wert finden Sie im Abschnitt Snowflake Streaming-Quellübersicht. |
Antwort
Bei einer erfolgreichen Antwort werden Ihre Quell-Verbindungs-ID 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\""
}
So erstellen Sie einen Datenfluss zum Streamen von Daten aus der Tour Snowflake -Konto für Platform erstellen, müssen Sie eine POST-Anfrage an die /flows
-Endpunkt unter Angabe der folgenden Werte:
Folgen Sie den unten stehenden Links, um schrittweise Anleitungen zum Abrufen der folgenden IDs zu erhalten.
API-Format
POST /flows
Anfrage
Die folgende Anfrage erstellt einen Streaming-Datenfluss für Ihre 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
}
}
]
}'
Eigenschaft | Beschreibung |
---|---|
sourceConnectionIds |
Die Kennung der Quellverbindung für Ihre Snowflake Streaming-Quelle. |
targetConnectionIds |
Die Zielverbindungs-ID für Ihre Snowflake Streaming-Quelle. |
flowSpec.id |
Die Flussspezifikations-ID zum Erstellen eines Datenflusses für eine Snowflake Streaming-Quelle. Mit dieser Flussspezifikations-ID können Sie einen Streaming-Datenfluss mit Zuordnungstransformationen erstellen. Diese ID ist fest und lautet: c1a19761-d2c7-4702-b9fa-fe91f0613e81 . |
transformations.params.mappingId |
Die Zuordnungs-ID für Ihren Datenfluss. |
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\""
}
In diesem Tutorial haben Sie einen Streaming-Datenfluss für Ihre Snowflake Daten, die Flow Service API. Weitere Informationen zu Adobe Experience Platform-Quellen finden Sie in der folgenden Dokumentation: