[Ultieme]{class="badge positive"}

Gegevens Snowflake streamen naar Experience Platform met de Flow Service API

IMPORTANT
De Snowflake -streamingbron is in de API beschikbaar voor gebruikers die Real-time Customer Data Platform Ultimate hebben aangeschaft.

Dit leerprogramma verstrekt stappen op hoe te om gegevens van uw Snowflake rekening met Adobe Experience Platform te verbinden en te stromen gebruikend Flow Service API.

Aan de slag

Deze handleiding vereist een goed begrip van de volgende onderdelen van Adobe Experience Platform:

  • Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend Platform diensten.
  • Sandboxen: Experience Platform verstrekt virtuele zandbakken die één enkele Platform instantie in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.

Voor de vereiste configuratie en informatie over de Snowflake streamingbron. Gelieve te lezen het Snowflake stromen bronoverzicht.

Platform-API's gebruiken

Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.

Een basisverbinding maken create-a-base-connection

Een basisverbinding behoudt informatie tussen uw bron en Platform, met inbegrip van de de authentificatiegeloofsbrieven van uw bron, de huidige staat van de verbinding, en uw unieke identiteitskaart van de basisverbinding. Met de ID van de basisverbinding kunt u bestanden verkennen en door bestanden navigeren vanuit uw bron en kunt u de specifieke items identificeren die u wilt opnemen, inclusief informatie over hun gegevenstypen en indelingen.

Als u een basis-verbindings-id wilt maken, vraagt u een POST naar het /connections -eindpunt en geeft u de Snowflake -verificatiegegevens op als onderdeel van de aanvraaginstantie.

API formaat

POST /connections

Verzoek

Met de volgende aanvraag wordt een basisverbinding voor Snowflake gemaakt:

TIP
De auth.specName -waarde moet exact worden ingevoerd zoals in het onderstaande voorbeeld, inclusief de lege spaties.
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"
      }
  }'
Eigenschap
Beschrijving
auth.params.account
De naam van uw Snowflake streamingaccount.
auth.params.database
De naam van de Snowflake -database waaruit gegevens worden opgehaald.
auth.params.warehouse
De naam van uw Snowflake magazijn. Het Snowflake pakhuis beheert het proces van de vraaguitvoering voor de toepassing. Elk pakhuis is onafhankelijk van elkaar en moet individueel worden betreden wanneer het brengen van gegevens over aan Platform.
auth.params.username
De gebruikersnaam voor uw Snowflake streamingaccount.
auth.params.schema
(Optioneel) Het databaseschema dat aan uw Snowflake streamingaccount is gekoppeld.
auth.params.password
Het wachtwoord voor uw Snowflake streamingaccount.
auth.params.role
(Optioneel) De rol van de gebruiker voor deze Snowflake -verbinding. Als deze waarde niet is opgegeven, wordt deze standaard ingesteld op public .
connectionSpec.id
The Snowflake connection specification ID: 51ae16c2-bdad-42fd-9fce-8d5dfddaf140 .

Reactie

Een geslaagde reactie retourneert de nieuwe basisverbinding en de bijbehorende tag.

{
    "id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
    "etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}

Uw gegevenstabellen verkennen explore-your-data-tables

Daarna, gebruik identiteitskaart van de basisverbinding om door de gegevenslijsten van uw bron te onderzoeken en te navigeren door een verzoek van de GET aan het /connections/{BASE_CONNECTION_ID}/explore?objectType=root eindpunt te doen terwijl het verstrekken van uw identiteitskaart van de basisverbinding als parameter.

API formaat

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
Parameter
Beschrijving
{BASE_CONNECTION_ID}
De basis verbinding-id van uw Snowflake streamingbron.

Verzoek

Met de volgende aanvraag worden de structuur en inhoud van uw Snowflake streamingaccount opgehaald.

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}'

Reactie

Een succesvolle reactie keert de structuur en de inhoud van de gegevens van uw bron op wortel-niveau terug.

{
    "items": [
        {
            "type": "table",
            "name": "ACME"
        }
    ]
}
Eigenschap
Beschrijving
items.type
Het type van de tabel.
items.names
De naam van de tabel.

Een bronverbinding maken create-a-source-connection

Een bronverbinding maakt en beheert de verbinding met de externe bron vanwaar gegevens worden ingevoerd.

Als u een bronverbinding wilt maken, vraagt u een POST naar het /sourceConnections -eindpunt van de Flow Service API.

API formaat

POST /sourceConnections

Verzoek

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"
      }
  }'
Eigenschap
Beschrijving
baseConnectionId
De geverifieerde basis-verbindings-id voor uw Snowflake streamingbron. Deze id is gegenereerd in een eerdere stap.
connectionSpec.id
De verbindingsspecificatie-id voor de Snowflake streamingbron.
params.tableName
De naam van de tabel in uw Snowflake -database die u naar Platform wilt verzenden.
params.timestampColumn
De naam van de tijdstempelkolom die wordt gebruikt om incrementele waarden op te halen.
params.backfill
Een booleaanse vlag die bepaalt of de gegevens van het begin (0 epoche tijd) of van de tijd worden gehaald de bron in werking wordt gesteld. Voor meer informatie over deze waarde, lees het Snowflake stromen bronoverzicht.
params.timezoneValue
De tijdzonewaarde geeft aan welke tijd van de tijdzone moet worden opgehaald tijdens het opvragen van de Snowflake -database. Deze parameter moet worden opgegeven als de tijdstempelkolom in de config is ingesteld op TIMESTAMP_NTZ . Als deze optie niet is opgegeven, wordt voor timezoneValue standaard UTC gebruikt.

Reactie

Een geslaagde reactie retourneert uw bron-verbindings-id en de bijbehorende tag. De id van de bronverbinding wordt later gebruikt om een gegevensstroom te maken.

{
    "id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
    "etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}

Een gegevensstroom maken

Als u een gegevensstroom wilt maken om gegevens van een tour Snowflake -account naar Platform te streamen, moet u een verzoek van de POST indienen bij het /flows -eindpunt en de volgende waarden opgeven:

TIP
Volg de onderstaande koppelingen voor stapsgewijze handleidingen voor het ophalen van de volgende id's.

API formaat

POST /flows

Verzoek

Met de volgende aanvraag wordt een streaminggegevensstroom voor uw Snowflake -account gemaakt.

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
          }
        }
      ]
    }'
Eigenschap
Beschrijving
sourceConnectionIds
De bron-verbindings-id voor uw Snowflake streamingbron.
targetConnectionIds
De doel verbindings-id voor uw Snowflake streamingbron.
flowSpec.id
De flow-specificatie-id waarmee een gegevensstroom voor een Snowflake -streamingbron wordt gemaakt. Met deze flowspecificatie-id kunt u een streaminggegevensstroom maken met toewijzingstransformaties. Deze id is vast en is: c1a19761-d2c7-4702-b9fa-fe91f0613e81 .
transformations.params.mappingId
De toewijzings-id voor de gegevensstroom.

Reactie

Een geslaagde reactie retourneert uw flow-id en de bijbehorende tag.

{
    "id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
    "etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}

Volgende stappen

Aan de hand van deze zelfstudie hebt u een streaminggegevensstroom voor uw Snowflake -gegevens gemaakt met de Flow Service API. Raadpleeg de volgende documentatie voor aanvullende informatie over Adobe Experience Platform Sources:

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