[Beta]{class="badge informative"} [Ultimate]{class="badge positive"}

Snowflake-Daten mithilfe der Flow Service-API an Experience Platform streamen

IMPORTANT
  • Die Streaming-Quelle Snowflake befindet sich in der Beta-Phase. Weitere Informationen zur Verwendung von Beta-beschrifteten Quellen finden Sie in der Quellen - Übersicht .
  • Die Streaming-Quelle Snowflake steht in der API Benutzern zur Verfügung, die Real-time Customer Data Platform Ultimate erworben haben.

In diesem Tutorial erfahren Sie, wie Sie mithilfe der [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/) 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 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 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:

TIP
Der Wert 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"
      }
  }'
Eigenschaft
Beschreibung
auth.params.account
Der Name Ihres Snowflake-Streaming-Kontos.
auth.params.database
Der Name Ihrer Snowflake-Datenbank, aus der Daten abgerufen werden.
auth.params.warehouse
Der Name Ihres Snowflake Warehouse. Das Snowflake-Warehouse verwaltet den Abfrageausführungsprozess 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 Ihr Snowflake-Streaming-Konto.
auth.params.schema
(Optional) Das Datenbankschema, das mit Ihrem Snowflake-Streaming-Konto verknüpft ist.
auth.params.password
Das Kennwort für Ihr 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 verwendet.
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\""
}

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
Parameter
Beschreibung
{BASE_CONNECTION_ID}
Die Kennung der Basisverbindung Ihrer Snowflake-Streaming-Quelle.

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"
        }
    ]
}
Eigenschaft
Beschreibung
items.type
Der Typ der Tabelle.
items.names
Der Name der Tabelle.

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"
      }
  }'
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 Ihrer Snowflake-Datenbank, die Sie in Platform laden 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 in der Snowflake Streaming-Quellübersicht.
params.timezoneValue
Der Zeitzonenwert gibt an, welche Zeitzone bei der Abfrage der Snowflake -Datenbank zur aktuellen Zeit abgerufen werden soll. Dieser Parameter sollte angegeben werden, wenn die Spalte mit dem Zeitstempel in der Konfiguration auf 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:

TIP
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 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
          }
        }
      ]
    }'
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\""
}

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:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089