Aktivieren von Zielgruppen für dateibasierte Ziele mithilfe der Flow Service-API
- Themen:
- Ziele
Erstellt für:
- Admin
- Benutzende
Verwenden Sie die erweiterten Dateiexportfunktionen, um beim Exportieren von Dateien aus Experience Platform auf erweiterte Anpassungsfunktionen zuzugreifen:
- Zusätzliche Dateibenennungsoptionen.
- Möglichkeit zum Festlegen benutzerdefinierter Datei-Kopfzeilen in exportierten Dateien durch den verbesserten Zuordnungsschritt.
- Möglichkeit zur Auswahl des Dateityps der exportierten Datei.
- Möglichkeit zum Anpassen der Formatierung exportierter CSV-Datendateien.
Diese Funktion wird von den sechs unten aufgeführten Cloud-Speicherkarten unterstützt:
In diesem Artikel wird der Arbeitsablauf erläutert, der für die Verwendung der Flow Service-API zum Exportieren qualifizierter Profile aus Adobe Experience Platform an einen der oben verknüpften Cloud-Speicherorte erforderlich ist.
Erste Schritte
Dieses Handbuch setzt ein Verständnis der folgenden Komponenten von Adobe Experience Platform voraus:
- Experience Data Model (XDM) System: Das standardisierte Framework, mit dem Kundenerlebnisdaten von Experience Platform organisiert werden.
- Segmentation Service: Adobe Experience Platform Segmentation Service können Sie aus Ihren Real-Time Customer Profile-Daten Zielgruppen erstellen und Zielgruppen in Adobe Experience Platform generieren.
- Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Experience Platform-Instanz in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse besser entwickeln und weiterentwickeln können.
Die folgenden Abschnitte enthalten zusätzliche Informationen, die Sie kennen müssen, um Daten für dateibasierte Ziele in Experience Platform zu aktivieren.
Erforderliche Berechtigungen
Zum Exportieren von Profilen benötigen Sie die Berechtigungen Ziele anzeigen, Ziele aktivieren, Profile anzeigen und Segmente anzeigenZugriffssteuerungsberechtigungen. Lesen Sie die Übersicht über die Zugriffssteuerung oder wenden Sie sich an Ihre Produktadmins, um die erforderlichen Berechtigungen zu erhalten.
Zum Exportieren Identitäten benötigen Sie die Berechtigung Identitätsdiagramm anzeigen Zugriffssteuerung.
Lesen von Beispiel-API-Aufrufen
In diesem Tutorial wird anhand von Beispielen für API-Aufrufe die korrekte Formatierung von Anfragen aufgezeigt. Dazu gehören Pfade, erforderliche Kopfzeilen und ordnungsgemäß formatierte Anfrage-Payloads. Außerdem wird ein Beispiel für eine von der API im JSON-Format zurückgegebene Antwort bereitgestellt. Informationen zu den Konventionen, die in der Dokumentation für Beispiel-API-Aufrufe verwendet werden, finden Sie im Abschnitt zum Lesen von Beispiel-API-Aufrufen im Handbuch zur Fehlerbehebung für Experience Platform
Sammeln der Werte für erforderliche und optionale Kopfzeilen
Um Experience Platform-APIs aufzurufen, müssen Sie zunächst das Tutorial zur Experience Platform-Authentifizierung abschließen. Durch Abschluss des Authentifizierungs-Tutorials werden die Werte für die einzelnen erforderlichen Header in allen Experience Platform-API-Aufrufen bereitgestellt, wie unten dargestellt:
- Authorization: Bearer
{ACCESS_TOKEN}
- x-api-key:
{API_KEY}
- x-gw-ims-org-id:
{ORG_ID}
Ressourcen in Experience Platform lassen sich in spezifischen virtuellen Sandboxes isolieren. Bei Anfragen an Experience Platform-APIs können Sie den Namen und die ID der Sandbox angeben, in der der Vorgang ausgeführt werden soll. Dies sind optionale Parameter.
- x-sandbox-name:
{SANDBOX_NAME}
Für alle Anfragen mit einer Payload (POST
, PUT
, PATCH
) ist eine zusätzliche Kopfzeile vom Typ „Medien“ erforderlich:
- Content-Type:
application/json
API-Referenzdokumentation
Eine zugehörige Referenzdokumentation für alle API-Vorgänge finden Sie in diesem Tutorial. Weitere Informationen finden Sie in Dokumentation zur Flow Service - Ziele-API auf der Adobe Developer-Website. Wir empfehlen, dass Sie dieses Tutorial und die API-Referenzdokumentation parallel verwenden.
Glossar
Beschreibungen der Begriffe, auf die Sie in diesem API-Tutorial stoßen werden, finden Sie im Glossarabschnitt der API-Referenzdokumentation.
Auswählen des Ziels, in das Zielgruppen exportiert werden sollen
Bevor Sie den Workflow zum Exportieren von Profilen starten, identifizieren Sie die Verbindungsspezifikations- und Flussspezifikations-IDs des Ziels, an das Sie Zielgruppen exportieren möchten. Verwenden Sie die nachstehende Tabelle als Referenz.
4fce964d-3f37-408f-9778-e597338a21ee
1a0514a6-33d4-4c7f-aff8-594799c47549
6d6b59bf-fb58-4107-9064-4d246c0e5bb2
752d422f-b16f-4f0d-b1c6-26e448e3b388
be2c3209-53bc-47e7-ab25-145db8b873e1
17be2013-2549-41ce-96e7-a70363bec293
10440537-2a7b-4583-ac39-ed38d4b848e8
cd2fc47e-e838-4f38-a581-8fff2f99b63a
c5d93acb-ea8b-4b14-8f53-02138444ae99
585c15c4-6cbf-4126-8f87-e26bff78b657
36965a81-b1c6-401b-99f8-22508f1e6a26
fd36aaa4-bf2b-43fb-9387-43785eeeb799
Sie benötigen diese IDs, um in den nächsten Schritten dieses Tutorials die verschiedenen Flow Service-Entitäten zu erstellen. Sie müssen auch auf Teile der Verbindungsspezifikation selbst verweisen, um bestimmte Entitäten einzurichten, damit Sie die Verbindungsspezifikation aus Flow Service-APIs abrufen können. Nachfolgend finden Sie die Beispiele zum Abrufen von Verbindungsspezifikationen für alle Ziele in der Tabelle:
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/4fce964d-3f37-408f-9778-e597338a21ee' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Antwort
{
"items": [
{
"id": "4fce964d-3f37-408f-9778-e597338a21ee",
"name": "Amazon S3",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
//...
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/6d6b59bf-fb58-4107-9064-4d246c0e5bb2' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Antwort
{
"items": [
{
"id": "6d6b59bf-fb58-4107-9064-4d246c0e5bb2",
"name": "Azure Blob Storage",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
//...
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/be2c3209-53bc-47e7-ab25-145db8b873e1' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Antwort
{
"items": [
{
"id": "be2c3209-53bc-47e7-ab25-145db8b873e1",
"name": "Azure Data Lake Gen2",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
//...
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/10440537-2a7b-4583-ac39-ed38d4b848e8' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Antwort
{
"items": [
{
"id": "10440537-2a7b-4583-ac39-ed38d4b848e8",
"name": "Data Landing Zone",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
//...
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/c5d93acb-ea8b-4b14-8f53-02138444ae99' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Antwort
{
"items": [
{
"id": "c5d93acb-ea8b-4b14-8f53-02138444ae99",
"name": "Google Cloud Storage",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
//...
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/36965a81-b1c6-401b-99f8-22508f1e6a26' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Antwort
{
"items": [
{
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26",
"name": "SFTP",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
//...
Gehen Sie wie folgt vor, um einen Zielgruppenexport-Datenfluss zu einem Cloud-Speicherziel einzurichten. Für einige Schritte unterscheiden sich die Anfragen und Antworten zwischen den verschiedenen Cloud-Speicher-Zielen. Verwenden Sie in diesen Fällen die Registerkarten auf der Seite, um die Anfragen und Antworten abzurufen, die spezifisch für das Ziel sind, mit dem Sie eine Verbindung herstellen und zu dem Sie Audiences exportieren möchten. Stellen Sie sicher, dass Sie die richtigen connection spec
und flow spec
für das Ziel verwenden, das Sie konfigurieren.
Erstellen einer Source-Verbindung
Nachdem Sie entschieden haben, an welches Ziel Sie Zielgruppen exportieren, müssen Sie eine Quellverbindung erstellen. Die Quellverbindung stellt die Verbindung zum internen Experience Platform-Profilspeicher dar.
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name":"Connect to Profile store",
"description":"Optional",
"connectionSpec":{
"id":"8a9c3494-9708-43d7-ae3f-cda01e5030e1", // this connection spec ID is always the same for Source Connections
"version":"1.0"
}
}'
Antwort
{
"id": "900df191-b983-45cd-90d5-4c7a0326d650",
"etag": "\"0500ebe1-0000-0200-0000-63e28d060000\""
}
Bei einer erfolgreichen Antwort werden die ID (id
) der neu erstellten Quellverbindung und ein etag
zurückgegeben. Notieren Sie sich die Quellverbindungs-ID, da Sie sie später beim Erstellen des Datenflusses benötigen werden.
Erstellen einer Basisverbindung
Eine Basisverbindung speichert die Anmeldeinformationen sicher in Ihrem Ziel. Je nach Zieltyp können die Anmeldeinformationen, die zur Authentifizierung für dieses Ziel erforderlich sind, variieren. Um diese Authentifizierungsparameter zu finden, rufen Sie zunächst die connection spec
für Ihr gewünschtes Ziel ab, wie im Abschnitt Auswählen des Ziels, in das Zielgruppen exportiert werden sollen beschrieben, und sehen Sie sich dann die authSpec
der Antwort an. Auf den folgenden Registerkarten finden Sie die authSpec
Eigenschaften aller unterstützten Ziele.
Beachten Sie die hervorgehobene Zeile mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die Authentifizierungsparameter in der connection spec zu finden sind.
{
"items": [
{
"id": "4fce964d-3f37-408f-9778-e597338a21ee",
"name": "amazon-s3",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [
{
"name": "Access Key",
"type": "KeyBased",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Defines auth params required for connecting to amazon-s3",
"type": "object",
"properties": {
"s3AccessKey": {
"description": "Access key id",
"type": "string",
"pattern": "^[A-Z2-7]{20}$"
},
"s3SecretKey": {
"description": "Secret access key for the user account",
"type": "string",
"format": "password",
"pattern": "^[A-Za-z0-9\\/+]{40}$"
}
},
"required": [
"s3SecretKey",
"s3AccessKey"
]
}
},
{
"name": "Assumed Role",
"type": "S3RoleBased",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Defines role based auth params required for connecting to amazon-s3",
"type": "object",
"properties": {
"s3Role": {
"title": "Role",
"description": "S3 role",
"type": "string",
"format": "password"
}
},
"required": [
"s3Role"
]
}
}
],
//...
Beachten Sie die hervorgehobene Zeile mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die Authentifizierungsparameter in der connection spec zu finden sind.
{
"items": [
{
"id": "6d6b59bf-fb58-4107-9064-4d246c0e5bb2",
"name": "Azure Blob Storage",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [ // describes the authentication parameters
{
"name": "ConnectionString",
"type": "ConnectionString",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Connection String for Azure Blob based destinations",
"type": "object",
"properties": {
"connectionString": {
"description": "connection string for login",
"type": "string",
"format": "password"
}
},
"required": [
"connectionString"
]
}
}
],
//...
Beachten Sie die hervorgehobene Zeile mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die Authentifizierungsparameter in der connection spec zu finden sind.
{
"items": [
{
"id": "be2c3209-53bc-47e7-ab25-145db8b873e1",
"name": "Azure Data Lake Gen2",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [ // describes the authentication parameters
{
"name": "Azure Service Principal Auth",
"type": "AzureServicePrincipal",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "defines auth params required for connecting to adlsgen2 using service principal",
"type": "object",
"properties": {
"url": {
"description": "Endpoint for Azure Data Lake Storage Gen2.",
"type": "string"
},
"servicePrincipalId": {
"description": "Service Principal Id to connect to ADLSGen2.",
"type": "string"
},
"servicePrincipalKey": {
"description": "Service Principal Key to connect to ADLSGen2.",
"type": "string",
"format": "password"
},
"tenant": {
"description": "Tenant information(domain name or tenant ID).",
"type": "string"
}
},
"required": [
"servicePrincipalKey",
"url",
"tenant",
"servicePrincipalId"
]
}
}
],
//...
{
"items": [
{
"id": "10440537-2a7b-4583-ac39-ed38d4b848e8",
"name": "Data Landing Zone",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [],
//...
Beachten Sie die hervorgehobene Zeile mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die Authentifizierungsparameter in der connection spec zu finden sind.
{
"items": [
{
"id": "c5d93acb-ea8b-4b14-8f53-02138444ae99",
"name": "Google Cloud Storage",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [ // describes the authentication parameters
{
"name": "Google Cloud Storage authentication credentials",
"type": "GoogleCloudStorageAuth",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "defines auth params required for connecting to google cloud storage connector.",
"type": "object",
"properties": {
"accessKeyId": {
"description": "Access Key Id for the user account",
"type": "string"
},
"secretAccessKey": {
"description": "Secret Access Key for the user account",
"type": "string",
"format": "password"
}
},
"required": [
"accessKeyId",
"secretAccessKey"
]
}
}
],
//...
Beachten Sie die hervorgehobene Zeile mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die Authentifizierungsparameter in der connection spec zu finden sind.
{
"items": [
{
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26",
"name": "SFTP",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [ // describes the authentication parameters
{
"name": "SFTP with Password",
"type": "SFTP",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "defines auth params required for connecting to sftp locations with a password",
"type": "object",
"properties": {
"domain": {
"description": "Domain of server",
"type": "string"
},
"username": {
"description": "Username",
"type": "string"
},
"password": {
"description": "Password",
"type": "string",
"format": "password"
}
},
"required": [
"password",
"domain",
"username"
]
}
},
{
"name": "SFTP with SSH Key",
"type": "SFTP",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "defines auth params required for connecting to sftp locations using SSH Key",
"type": "object",
"properties": {
"domain": {
"description": "Domain of server",
"type": "string"
},
"username": {
"description": "Username",
"type": "string"
},
"sshKey": {
"description": "Base64 string of the private SSH key",
"type": "string",
"format": "password",
"contentEncoding": "base64",
"uiAttributes": {
"tooltip": {
"id": "platform_destinations_connect_sftp_ssh",
"fallbackUrl": "http://www.adobe.com/go/destinations-sftp-connection-parameters-en "
}
}
}
},
"required": [
"sshKey",
"domain",
"username"
]
}
}
],
//...
Mithilfe der in der Authentifizierungsspezifikation angegebenen Eigenschaften (d. h. authSpec
aus der Antwort) können Sie eine Basisverbindung mit den erforderlichen Anmeldeinformationen erstellen, die für jeden Zieltyp spezifisch sind, wie in den Beispielen unten dargestellt:
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Amazon S3 Base Connection",
"auth": {
"specName": "Access Key",
"params": {
"s3SecretKey": "<Add secret key>",
"s3AccessKey": "<Add access key>"
}
},
"connectionSpec": {
"id": "4fce964d-3f37-408f-9778-e597338a21ee", // Amazon S3 connection spec
"version": "1.0"
}
}'
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Amazon S3 Base Connection",
"auth": {
"specName": "Assumed Role",
"params": {
"s3Role": "<Add s3 role>"
}
},
"connectionSpec": {
"id": "4fce964d-3f37-408f-9778-e597338a21ee", // Amazon S3 connection spec
"version": "1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Azure Blob Storage Base Connection",
"auth": {
"specName": "ConnectionString",
"params": {
"connectionString": "<Add Azure Blob connection string>"
}
},
"connectionSpec": {
"id": "6d6b59bf-fb58-4107-9064-4d246c0e5bb2", // Azure Blob Storage connection spec
"version": "1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Azure Data Lake Gen 2(ADLS Gen2) Base Connection",
"auth": {
"specName": "Azure Service Principal Auth",
"params": {
"servicePrincipalKey": "<Add servicePrincipalKey>",
"url": "<Add url>",
"tenant": "<Add tenant>",
"servicePrincipalId": "<Add servicePrincipalId>"
}
},
"connectionSpec": {
"id": "be2c3209-53bc-47e7-ab25-145db8b873e1", // Azure Data Lake Gen 2(ADLS Gen2) connection spec
"version": "1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Data Landing Zone(DLZ) Base Connection"
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Google Cloud Storage Base Connection",
"auth": {
"specName": "Google Cloud Storage authentication credentials",
"params": {
"accessKeyId": "<Add accessKeyId>",
"secretAccessKey": "<Add secret Access Key>"
}
},
"connectionSpec": {
"id": "c5d93acb-ea8b-4b14-8f53-02138444ae99", // Google Cloud Storage connection spec
"version": "1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "SFTP with password Base Connection",
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "<Add domain>",
"username": "<Add username>",
"password": "<Add password>",
"port": "<Add port>"
}
},
"connectionSpec": {
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26", // SFTP connection spec
"version": "1.0"
}
}'
specName
SFTP with Password
.domain
username
password
port
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "SFTP with SSH key Base Connection",
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "<Add domain>",
"username": "<Add username>",
"sshKey": "<Add SSH key>",
"port": "<Add port>"
}
},
"connectionSpec": {
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26", // SFTP connection spec
"version": "1.0"
}
}'
specName
SFTP with Password
.domain
username
sshKey
port
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Hinzufügen einer Verschlüsselung zu exportierten Dateien
Optional können Sie Ihren exportierten Dateien eine Verschlüsselung hinzufügen. Dazu müssen Sie Elemente aus dem encryptionSpecs
hinzufügen. Im folgenden Anfragebeispiel sind die obligatorischen Parameter hervorgehoben:
"encryptionSpecs": [
{
"name": "File PGP/GPG Encryption",
"type": "FileAsymmetric",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Defines parameters required for capturing user's inputs for encryption",
"type": "object",
"properties": {
"publicKey": {
"description": "Base64 encoded RSA public key",
"type": "string",
"contentEncoding": "base64"
},
"encryptionAlgo": {
"description": "Algorithm for encryption.",
"type": "string",
"default": "PGPGPG",
"enum": [
"PGPGPG",
"NONE"
]
}
},
"required": [
"encryptionAlgo",
"publicKey"
]
}
}
]
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "SFTP with SSH key Base Connection",
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "<Add domain>",
"username": "<Add username>",
"sshKey": "<Add SSH key>"
}
},
"encryptionSpecs":{
"specName": "Encryption spec",
"params": {
"encryptionAlgo":"PGPGPG",
"publicKey":"<Add public key>"
}
},
"connectionSpec": {
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26", // SFTP connection spec
"version": "1.0"
}
}'
Antwort
{
"id": "900df191-b983-45cd-90d5-4c7a0326d650",
"etag": "\"0500ebe1-0000-0200-0000-63e28d060000\""
}
Notieren Sie die Verbindungs-ID aus der Antwort. Diese ID ist im nächsten Schritt beim Erstellen der Zielverbindung erforderlich.
Erstellen einer Zielverbindung
Als Nächstes müssen Sie eine Zielverbindung erstellen. Zielgruppenverbindungen speichern die Exportparameter für die exportierten Zielgruppen. Zu den Exportparametern gehören Exportspeicherort, Dateiformat, Komprimierung und andere Details. Für CSV-Dateien können Sie beispielsweise mehrere Exportoptionen auswählen. Weitere Informationen zu allen unterstützten CSV-Exportoptionen finden Sie auf der Seite Dateiformatierungskonfigurationen.
Die unterstützten Eigenschaften für jeden Zieltyp werden in den im -connection spec
des Ziels bereitgestellten targetSpec
-Eigenschaften beschrieben. Auf den folgenden Registerkarten finden Sie die targetSpec
Eigenschaften aller unterstützten Ziele.
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die target spec in der Verbindungsspezifikation zu finden sind. Im folgenden Beispiel können Sie auch sehen, welche Zielgruppenparameter für Zielgruppenexportziele nicht anwendbar sind.
{
"items": [
{
"id": "4fce964d-3f37-408f-9778-e597338a21ee",
"name": "Amazon S3",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [...],
"encryptionSpecs": [...],
"targetSpec": { //describes the target connection parameters
"name": "User based target",
"type": "UserNamespace",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"bucketName": {
"title": "Bucket name",
"description": "Bucket name",
"type": "string",
"pattern": "(?=^.{3,63}$)(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$)",
"uiAttributes": {
"tooltip": {
"id": "platform_destinations_connect_s3_bucket",
"fallbackUrl": "http://www.adobe.com/go/destinations-amazon-s3-connection-parameters-en"
}
}
},
"path": {
"title": "Folder path",
"description": "Output path for copying files",
"type": "string",
"pattern": "^[0-9a-zA-Z\/\\!\\-_\\.\\*\\''\\(\\)]*((\\%SEGMENT_(NAME|ID)\\%)?\/?)+$",
"uiAttributes": {
"tooltip": {
"id": "platform_destinations_connect_s3_folderpath",
"fallbackUrl": "http://www.adobe.com/go/destinations-amazon-s3-connection-parameters-en"
}
}
},
"fileType": {
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "NOT_CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"CSV",
"JSON",
"PARQUET"
]
},
"datasetFileType": { // does not apply to audience export destinations
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"JSON",
"PARQUET"
]
},
"csvOptions": {
"conditional": {
"field": "fileType",
"operator": "EQUALS",
"value": "CSV"
},
"title": "CSV Options",
"description": "Select your CSV options",
"type": "object",
"properties": {
"quote": {
"title": "Quote Character",
"description": "Select your Quote character",
"type": "string",
"oneOf": [
{
"title": "Double Quotes (\")",
"const": "\""
},
{
"title":"Null Character (\\)",
"const": ""
}
],
"default": ""
},
"escape": {
"title": "Escape Character",
"description": "Select your Escape character",
"type": "string",
"oneOf": [
{
"title": "Back Slash (\\)",
"const": "\\"
},
{
"title": "Single Quote (')",
"const": "'"
}
],
"default": "\\"
},
"delimiter": {
"title": "Delimiter",
"description": "Select your Delimiter",
"type": "string",
"oneOf": [
{
"title": "Comma (,)",
"const": ","
},
{
"title": "Tab (\\t)",
"const": "\t"
},
{
"title": "Pipe (|)",
"const": "|"
},
{
"title": "Semicolon (;)",
"const": ";"
},
{
"title": "Colon (:)",
"const": ":"
}
],
"default": ","
},
"nullValue": {
"title": "Null Value",
"description": "Select the output value of 'null' fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": "null"
},
"emptyValue": {
"title": "Empty Value",
"description": "Select the output value of blank fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": ""
}
}
},
"compression": {
"title": "Compression format",
"description": "Select the desired file compression format.",
"type": "string",
"enum": [
"NONE",
"GZIP"
]
}
},
"required": [
"bucketName",
"path",
"datasetFileType",
"compression",
"fileType"
]
}
//...
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die target spec in der Verbindungsspezifikation zu finden sind. Im folgenden Beispiel können Sie auch sehen, welche Zielgruppenparameter für Zielgruppenexportziele nicht anwendbar sind.
{
"items": [
{
"id": "6d6b59bf-fb58-4107-9064-4d246c0e5bb2",
"name": "Azure Blob Storage",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [...],
"encryptionSpecs": [...],
"targetSpec": { // describes the target connection parameters
"name": "User based target",
"type": "UserNamespace",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"title": "Folder path",
"description": "Output path (relative) indicating where to upload the data",
"type": "string",
"pattern": "^[0-9a-zA-Z\/\\!\\-_\\.\\*\\'\\(\\)]+$"
},
"container": {
"title": "Container",
"description": "Container within the storage where to upload the data",
"type": "string",
"pattern": "^[a-z0-9](?!.*--)[a-z0-9-]{1,61}[a-z0-9]$"
},
"fileType": {
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "NOT_CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"CSV",
"JSON",
"PARQUET"
]
},
"datasetFileType": { // does not apply to audience export destinations
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"JSON",
"PARQUET"
]
},
"csvOptions": {
"conditional": {
"field": "fileType",
"operator": "EQUALS",
"value": "CSV"
},
"title": "CSV Options",
"description": "Select your CSV options",
"type": "object",
"properties": {
"quote": {
"title": "Quote Character",
"description": "Select your Quote character",
"type": "string",
"oneOf": [
{
"title": "Double Quotes (\")",
"const": "\""
},
{
"title":"Null Character (\\)",
"const": ""
}
],
"default": ""
},
"escape": {
"title": "Escape Character",
"description": "Select your Escape character",
"type": "string",
"oneOf": [
{
"title": "Back Slash (\\)",
"const": "\\"
},
{
"title": "Single Quote (')",
"const": "'"
}
],
"default": "\\"
},
"delimiter": {
"title": "Delimiter",
"description": "Select your Delimiter",
"type": "string",
"oneOf": [
{
"title": "Comma (,)",
"const": ","
},
{
"title": "Tab (\\t)",
"const": "\t"
},
{
"title": "Pipe (|)",
"const": "|"
},
{
"title": "Semicolon (;)",
"const": ";"
},
{
"title": "Colon (:)",
"const": ":"
}
],
"default": ","
},
"nullValue": {
"title": "Null Value",
"description": "Select the output value of 'null' fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": "null"
},
"emptyValue": {
"title": "Empty Value",
"description": "Select the output value of blank fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": ""
}
}
},
"compression": {
"title": "Compression format",
"description": "Select the desired file compression format.",
"type": "string",
"enum": [
"NONE",
"GZIP"
]
}
},
"required": [
"container",
"path",
"datasetFileType",
"compression",
"fileType"
]
}
//...
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die target spec in der Verbindungsspezifikation zu finden sind. Im folgenden Beispiel können Sie auch sehen, welche Zielgruppenparameter für Zielgruppenexportziele nicht anwendbar sind.
{
"items": [
{
"id": "be2c3209-53bc-47e7-ab25-145db8b873e1",
"name": "Azure Data Lake Gen2",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [...],
"encryptionSpecs": [...],
"targetSpec": { // describes the target connection parameters
"name": "User based target",
"type": "UserNamespace",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"title": "Folder path",
"description": "Enter the path to your Azure Data Lake Storage folder",
"type": "string"
},
"fileType": {
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "NOT_CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"CSV",
"JSON",
"PARQUET"
]
},
"datasetFileType": { // does not apply to audience export destinations
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"JSON",
"PARQUET"
]
},
"csvOptions": {
"conditional": {
"field": "fileType",
"operator": "EQUALS",
"value": "CSV"
},
"title": "CSV Options",
"description": "Select your CSV options",
"type": "object",
"properties": {
"quote": {
"title": "Quote Character",
"description": "Select your Quote character",
"type": "string",
"oneOf": [
{
"title": "Double Quotes (\")",
"const": "\""
},
{
"title":"Null Character (\\)",
"const": ""
}
],
"default": ""
},
"escape": {
"title": "Escape Character",
"description": "Select your Escape character",
"type": "string",
"oneOf": [
{
"title": "Back Slash (\\)",
"const": "\\"
},
{
"title": "Single Quote (')",
"const": "'"
}
],
"default": "\\"
},
"delimiter": {
"title": "Delimiter",
"description": "Select your Delimiter",
"type": "string",
"oneOf": [
{
"title": "Comma (,)",
"const": ","
},
{
"title": "Tab (\\t)",
"const": "\t"
},
{
"title": "Pipe (|)",
"const": "|"
},
{
"title": "Semicolon (;)",
"const": ";"
},
{
"title": "Colon (:)",
"const": ":"
}
],
"default": ","
},
"nullValue": {
"title": "Null Value",
"description": "Select the output value of 'null' fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": "null"
},
"emptyValue": {
"title": "Empty Value",
"description": "Select the output value of blank fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": ""
}
}
},
"compression": {
"title": "Compression format",
"description": "Select the desired file compression format.",
"type": "string",
"enum": [
"NONE",
"GZIP"
]
}
},
"required": [
"path",
"datasetFileType",
"compression",
"fileType"
]
}
//...
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die target spec in der Verbindungsspezifikation zu finden sind. Im folgenden Beispiel können Sie auch sehen, welche Zielgruppenparameter für Zielgruppenexportziele nicht anwendbar sind.
"items": [
{
"id": "10440537-2a7b-4583-ac39-ed38d4b848e8",
"name": "Data Landing Zone",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [],
"encryptionSpecs": [],
"targetSpec": { // describes the target connection parameters
"name": "User based target",
"type": "UserNamespace",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"title": "Folder path",
"description": "Enter the path to your Azure Data Lake Storage folder",
"type": "string"
},
"fileType": {
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "NOT_CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"CSV",
"JSON",
"PARQUET"
]
},
"datasetFileType": { // does not apply to audience export destinations
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"JSON",
"PARQUET"
]
},
"csvOptions": {
"conditional": {
"field": "fileType",
"operator": "EQUALS",
"value": "CSV"
},
"title": "CSV Options",
"description": "Select your CSV options",
"type": "object",
"properties": {
"quote": {
"title": "Quote Character",
"description": "Select your Quote character",
"type": "string",
"oneOf": [
{
"title": "Double Quotes (\")",
"const": "\""
},
{
"title":"Null Character (\\)",
"const": ""
}
],
"default": ""
},
"escape": {
"title": "Escape Character",
"description": "Select your Escape character",
"type": "string",
"oneOf": [
{
"title": "Back Slash (\\)",
"const": "\\"
},
{
"title": "Single Quote (')",
"const": "'"
}
],
"default": "\\"
},
"delimiter": {
"title": "Delimiter",
"description": "Select your Delimiter",
"type": "string",
"oneOf": [
{
"title": "Comma (,)",
"const": ","
},
{
"title": "Tab (\\t)",
"const": "\t"
},
{
"title": "Pipe (|)",
"const": "|"
},
{
"title": "Semicolon (;)",
"const": ";"
},
{
"title": "Colon (:)",
"const": ":"
}
],
"default": ","
},
"nullValue": {
"title": "Null Value",
"description": "Select the output value of 'null' fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": "null"
},
"emptyValue": {
"title": "Empty Value",
"description": "Select the output value of blank fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": ""
}
}
},
"compression": {
"title": "Compression format",
"description": "Select the desired file compression format.",
"type": "string",
"enum": [
"NONE",
"GZIP"
]
}
},
"required": [
"path",
"datasetFileType",
"compression",
"fileType"
]
}
//...
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die target spec in der Verbindungsspezifikation zu finden sind. Im folgenden Beispiel können Sie auch sehen, welche Zielgruppenparameter für Zielgruppenexportziele nicht anwendbar sind.
{
"items": [
{
"id": "c5d93acb-ea8b-4b14-8f53-02138444ae99",
"name": "Google Cloud Storage",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [...],
"encryptionSpecs": [...],
"targetSpec": { // describes the target connection parameters
"name": "User based target",
"type": "UserNamespace",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"bucketName": {
"title": "Bucket name",
"description": "Bucket name",
"type": "string",
"pattern": "(?!^goog.*$)(?!^.*g(o|0)(o|0)gle.*$)(((?=^.{3,63}$)(^([a-z0-9]|[a-z0-9][a-z0-9\\-_]*)[a-z0-9]$))|((?=^.{3,222}$)(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]{1,63}|[a-z0-9][a-z0-9\\-_]{1,61}[a-z0-9])\\.)*([a-z0-9]{1,63}|[a-z0-9][a-z0-9\\-_]{1,61}[a-z0-9])$)))"
},
"path": {
"title": "Folder path",
"description": "Output path for copying files",
"type": "string",
"pattern": "^[0-9a-zA-Z\/\\!\\-_\\.\\*\\''\\(\\)]*((\\%SEGMENT_(NAME|ID)\\%)?\/?)+$"
},
"fileType": {
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "NOT_CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"CSV",
"JSON",
"PARQUET"
]
},
"datasetFileType": { // does not apply to audience export destinations
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"JSON",
"PARQUET"
]
},
"csvOptions": {
"conditional": {
"field": "fileType",
"operator": "EQUALS",
"value": "CSV"
},
"title": "CSV Options",
"description": "Select your CSV options",
"type": "object",
"properties": {
"quote": {
"title": "Quote Character",
"description": "Select your Quote character",
"type": "string",
"oneOf": [
{
"title": "Double Quotes (\")",
"const": "\""
},
{
"title":"Null Character (\\)",
"const": ""
}
],
"default": ""
},
"escape": {
"title": "Escape Character",
"description": "Select your Escape character",
"type": "string",
"oneOf": [
{
"title": "Back Slash (\\)",
"const": "\\"
},
{
"title": "Single Quote (')",
"const": "'"
}
],
"default": "\\"
},
"delimiter": {
"title": "Delimiter",
"description": "Select your Delimiter",
"type": "string",
"oneOf": [
{
"title": "Comma (,)",
"const": ","
},
{
"title": "Tab (\\t)",
"const": "\t"
},
{
"title": "Pipe (|)",
"const": "|"
},
{
"title": "Semicolon (;)",
"const": ";"
},
{
"title": "Colon (:)",
"const": ":"
}
],
"default": ","
},
"nullValue": {
"title": "Null Value",
"description": "Select the output value of 'null' fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": "null"
},
"emptyValue": {
"title": "Empty Value",
"description": "Select the output value of blank fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": ""
}
}
},
"compression": {
"title": "Compression format",
"description": "Select the desired file compression format.",
"type": "string",
"enum": [
"NONE",
"GZIP"
]
}
},
"required": [
"bucketName",
"path",
"datasetFileType",
"compression",
"fileType"
]
}
//...
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im folgenden connection spec, die zusätzliche Informationen darüber enthalten, wo die target spec in der Verbindungsspezifikation zu finden sind. Im folgenden Beispiel können Sie auch sehen, welche Zielgruppenparameter für Zielgruppenexportziele nicht anwendbar sind.
{
"items": [
{
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26",
"name": "SFTP",
"providerId": "14e34fac-d307-11e9-bb65-2a2ae2dbcce4",
"version": "1.0",
"authSpec": [...],
"encryptionSpecs": [...],
"targetSpec": { // describes the target connection parameters
"name": "User based target",
"type": "UserNamespace",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"remotePath": {
"title": "Folder path",
"description": "Enter your folder path",
"type": "string"
},
"fileType": {
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "NOT_CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"CSV",
"JSON",
"PARQUET"
]
},
"datasetFileType": { // does not apply to audience export destinations
"conditional": {
"field": "flowSpec.attributes._workflow",
"operator": "CONTAINS",
"value": "DATASETS"
},
"title": "File Type",
"description": "Select file format",
"type": "string",
"enum": [
"JSON",
"PARQUET"
]
},
"csvOptions": {
"conditional": {
"field": "fileType",
"operator": "EQUALS",
"value": "CSV"
},
"title": "CSV Options",
"description": "Select your CSV options",
"type": "object",
"properties": {
"quote": {
"title": "Quote Character",
"description": "Select your Quote character",
"type": "string",
"oneOf": [
{
"title": "Double Quotes (\")",
"const": "\""
},
{
"title":"Null Character (\\)",
"const": ""
}
],
"default": ""
},
"escape": {
"title": "Escape Character",
"description": "Select your Escape character",
"type": "string",
"oneOf": [
{
"title": "Back Slash (\\)",
"const": "\\"
},
{
"title": "Single Quote (')",
"const": "'"
}
],
"default": "\\"
},
"delimiter": {
"title": "Delimiter",
"description": "Select your Delimiter",
"type": "string",
"oneOf": [
{
"title": "Comma (,)",
"const": ","
},
{
"title": "Tab (\\t)",
"const": "\t"
},
{
"title": "Pipe (|)",
"const": "|"
},
{
"title": "Semicolon (;)",
"const": ";"
},
{
"title": "Colon (:)",
"const": ":"
}
],
"default": ","
},
"nullValue": {
"title": "Null Value",
"description": "Select the output value of 'null' fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": "null"
},
"emptyValue": {
"title": "Empty Value",
"description": "Select the output value of blank fields",
"type": "string",
"oneOf": [
{
"title": "null",
"const": "null"
},
{
"title": "\"\"",
"const": "\"\""
},
{
"title": "Empty String",
"const": ""
}
],
"default": ""
}
}
},
"compression": {
"title": "Compression format",
"description": "Select the desired file compression format.",
"type": "string",
"enum": [
"GZIP",
"NONE"
]
}
},
"required": [
"remotePath",
"datasetFileType",
"compression",
"fileType"
]
},
//...
Mithilfe der obigen Spezifikation können Sie eine Zielverbindungsanfrage für Ihr gewünschtes Cloud-Speicher-Ziel erstellen, wie in den folgenden Registerkarten dargestellt.
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Amazon S3 Target Connection",
"baseConnectionId": "<FROM_STEP_CREATE_BASE_CONNECTION>",
"params": {
"mode": "Server-to-server",
"bucketName": "your-bucket-name",
"path": "folder/subfolder",
"compression": "NONE",
"fileType": "JSON"
},
"connectionSpec": {
"id": "4fce964d-3f37-408f-9778-e597338a21ee", // Amazon S3 connection spec id
"version": "1.0"
}
}'
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name":"Amazon S3 Target Connection",
"baseConnectionId":"<FROM_STEP_CREATE_BASE_CONNECTION>",
"params":{
"mode":"Server-to-server",
"bucketName":"your-bucket-name",
"path":"folder/subfolder",
"compression":"GZIP",
"fileType":"CSV",
"csvOptions":{
"nullValue":"null",
"emptyValue":"",
"escape":"\\",
"quote":"",
"delimiter":","
}
},
"connectionSpec":{
"id":"4fce964d-3f37-408f-9778-e597338a21ee",
"version":"1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Azure Blob Storage Target Connection",
"baseConnectionId": "<FROM_STEP_CREATE_BASE_CONNECTION>",
"params": {
"mode": "Server-to-server",
"container": "your-container-name",
"path": "folder/subfolder",
"compression": "NONE",
"fileType": "JSON"
},
"connectionSpec": {
"id": "6d6b59bf-fb58-4107-9064-4d246c0e5bb2", // Azure Blob Storage connection spec id
"version": "1.0"
}
}'
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name":"Azure Blob Storage Target Connection",
"baseConnectionId":"<FROM_STEP_CREATE_BASE_CONNECTION>",
"params":{
"mode":"Server-to-server",
"bucketName":"your-bucket-name",
"path":"folder/subfolder",
"compression":"GZIP",
"fileType":"CSV",
"csvOptions":{
"nullValue":"null",
"emptyValue":"",
"escape":"\\",
"quote":"",
"delimiter":","
}
},
"connectionSpec":{
"id":"6d6b59bf-fb58-4107-9064-4d246c0e5bb2",
"version":"1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Azure Data Lake Gen 2(ADLS Gen2) Target Connection",
"baseConnectionId": "<FROM_STEP_CREATE_BASE_CONNECTION>",
"params": {
"mode": "Server-to-server",
"path": "folder/subfolder",
"compression": "NONE",
"fileType": "JSON"
},
"connectionSpec": {
"id": "be2c3209-53bc-47e7-ab25-145db8b873e1", // Azure Data Lake Gen 2(ADLS Gen2) connection spec id
"version": "1.0"
}
}'
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name":"Azure Data Lake Gen 2(ADLS Gen2)",
"baseConnectionId":"<FROM_STEP_CREATE_BASE_CONNECTION>",
"params":{
"mode":"Server-to-server",
"bucketName":"your-bucket-name",
"path":"folder/subfolder",
"compression":"GZIP",
"fileType":"CSV",
"csvOptions":{
"nullValue":"null",
"emptyValue":"",
"escape":"\\",
"quote":"",
"delimiter":","
}
},
"connectionSpec":{
"id":"be2c3209-53bc-47e7-ab25-145db8b873e1",
"version":"1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Data Landing Zone Target Connection",
"baseConnectionId": "<FROM_STEP_CREATE_BASE_CONNECTION>",
"params": {
"mode": "Server-to-server",
"path": "folder/subfolder",
"compression": "NONE",
"fileType": "JSON"
},
"connectionSpec": {
"id": "10440537-2a7b-4583-ac39-ed38d4b848e8", // Data Landing Zone connection spec id
"version": "1.0"
}
}'
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name":"Data Landing Zone Target Connection",
"baseConnectionId":"<FROM_STEP_CREATE_BASE_CONNECTION>",
"params":{
"mode":"Server-to-server",
"bucketName":"your-bucket-name",
"path":"folder/subfolder",
"compression":"GZIP",
"fileType":"CSV",
"csvOptions":{
"nullValue":"null",
"emptyValue":"",
"escape":"\\",
"quote":"",
"delimiter":","
}
},
"connectionSpec":{
"id":"10440537-2a7b-4583-ac39-ed38d4b848e8",
"version":"1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Google Cloud Storage Target Connection",
"baseConnectionId": "<FROM_STEP_CREATE_BASE_CONNECTION>",
"params": {
"mode": "Server-to-server",
"bucketName": "your-bucket-name",
"path": "folder/subfolder",
"compression": "NONE",
"fileType": "JSON"
},
"connectionSpec": {
"id": "c5d93acb-ea8b-4b14-8f53-02138444ae99", // Google Cloud Storage connection spec id
"version": "1.0"
}
}'
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name":"Google Cloud Storage Target Connection",
"baseConnectionId":"<FROM_STEP_CREATE_BASE_CONNECTION>",
"params":{
"mode":"Server-to-server",
"bucketName":"your-bucket-name",
"path":"folder/subfolder",
"compression":"GZIP",
"fileType":"CSV",
"csvOptions":{
"nullValue":"null",
"emptyValue":"",
"escape":"\\",
"quote":"",
"delimiter":","
}
},
"connectionSpec":{
"id":"c5d93acb-ea8b-4b14-8f53-02138444ae99",
"version":"1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "SFTP Target Connection",
"baseConnectionId": "<FROM_STEP_CREATE_BASE_CONNECTION>",
"params": {
"mode": "Server-to-server",
"remotePath": "folder/subfolder",
"compression": "NONE",
"fileType": "JSON"
},
"connectionSpec": {
"id": "36965a81-b1c6-401b-99f8-22508f1e6a26", // SFTP connection spec id
"version": "1.0"
}
}'
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name":"SFTP Target Connection",
"baseConnectionId":"<FROM_STEP_CREATE_BASE_CONNECTION>",
"params":{
"mode":"Server-to-server",
"bucketName":"your-bucket-name",
"path":"folder/subfolder",
"compression":"GZIP",
"fileType":"CSV",
"csvOptions":{
"nullValue":"null",
"emptyValue":"",
"escape":"\\",
"quote":"",
"delimiter":","
}
},
"connectionSpec":{
"id":"36965a81-b1c6-401b-99f8-22508f1e6a26",
"version":"1.0"
}
}'
Antwort
{
"id": "12401496-2573-4ca7-8137-fef1aeb9dd4c",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Notieren Sie die target connection ID
aus der Antwort. Diese ID ist im nächsten Schritt beim Erstellen des Datenflusses zum Exportieren von Zielgruppen erforderlich.
Bei einer erfolgreichen Antwort werden die ID (id
) der neu erstellten Zielquellenverbindung und ein etag
zurückgegeben. Notieren Sie sich die Zielverbindungs-ID, da Sie sie später beim Erstellen des Datenflusses benötigen werden.
Erstellen eines Datenflusses
Der nächste Schritt in der Zielkonfiguration besteht darin, einen Datenfluss zu erstellen. Ein Datenfluss verknüpft zuvor erstellte Entitäten und bietet auch Optionen zum Konfigurieren des Zeitplans für den Zielgruppenexport. Verwenden Sie zum Erstellen des Datenflusses die folgenden Payloads, je nach dem gewünschten Cloud-Speicher-Ziel, und ersetzen Sie die Fluss-Entitäts-IDs aus den vorherigen Schritten. Beachten Sie, dass Sie in diesem Schritt keine Informationen im Zusammenhang mit der Attribut- oder Identitätszuordnung zum Datenfluss hinzufügen. Das wird im nächsten Schritt folgen.
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/flows' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Activate audiences to an Amazon S3 cloud storage destination",
"description": "This operation creates a dataflow to export audiences to an Amazon S3 cloud storage destination",
"flowSpec": {
"id": "1a0514a6-33d4-4c7f-aff8-594799c47549", // Amazon S3 flow spec ID
"version": "1.0"
},
"sourceConnectionIds": [
"<FROM_STEP_CREATE_SOURCE_CONNECTION>"
],
"targetConnectionIds": [
"<FROM_STEP_CREATE_TARGET_CONNECTION>"
],
"transformations": []
}'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/flows' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Activate audiences to an Azure Blob Storage cloud storage destination",
"description": "This operation creates a dataflow to export audiences to an Azure Blob Storage cloud storage destination",
"flowSpec": {
"id": "752d422f-b16f-4f0d-b1c6-26e448e3b388", // Azure Blob Storage flow spec ID
"version": "1.0"
},
"sourceConnectionIds": [
"<FROM_STEP_CREATE_SOURCE_CONNECTION>"
],
"targetConnectionIds": [
"<FROM_STEP_CREATE_TARGET_CONNECTION>"
],
"transformations": [
{
"name": "GeneralTransform",
"params": {
"mandatoryFields": [],
"primaryFields": [],
"profileMapping": {},
"segmentSelectors": {
"selectors": []
}
}
}
]
}'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/flows' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Activate audiences to an Azure Data Lake Gen 2(ADLS Gen2) cloud storage destination",
"description": "This operation creates a dataflow to export audiences to an Azure Data Lake Gen 2(ADLS Gen2) cloud storage destination",
"flowSpec": {
"id": "17be2013-2549-41ce-96e7-a70363bec293", // Azure Data Lake Gen 2(ADLS Gen2) flow spec ID
"version": "1.0"
},
"sourceConnectionIds": [
"<FROM_STEP_CREATE_SOURCE_CONNECTION>"
],
"targetConnectionIds": [
"<FROM_STEP_CREATE_TARGET_CONNECTION>"
],
"transformations": []
}'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/flows' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Activate audiences to a Data Landing Zone cloud storage destination",
"description": "This operation creates a dataflow to export audiences to a Data Landing Zone cloud storage destination",
"flowSpec": {
"id": "cd2fc47e-e838-4f38-a581-8fff2f99b63a", // Data Landing Zone flow spec ID
"version": "1.0"
},
"sourceConnectionIds": [
"<FROM_STEP_CREATE_SOURCE_CONNECTION>"
],
"targetConnectionIds": [
"<FROM_STEP_CREATE_TARGET_CONNECTION>"
],
"transformations": []
}'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/flows' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Activate audiences to a Google Cloud Storage cloud storage destination",
"description": "This operation creates a dataflow to export audiences to a Google Cloud Storage destination",
"flowSpec": {
"id": "585c15c4-6cbf-4126-8f87-e26bff78b657", // Google Cloud Storage flow spec ID
"version": "1.0"
},
"sourceConnectionIds": [
"<FROM_STEP_CREATE_SOURCE_CONNECTION>"
],
"targetConnectionIds": [
"<FROM_STEP_CREATE_TARGET_CONNECTION>"
],
"transformations": []
}'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Anfrage
Beachten Sie die hervorgehobenen Zeilen mit Inline-Kommentaren im Anfragebeispiel, die zusätzliche Informationen bereitstellen. Entfernen Sie die Inline-Kommentare in der Anfrage, wenn Sie die Anfrage in das Terminal Ihrer Wahl kopieren.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/flows' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw '{
"name": "Activate audiences to an SFTP cloud storage destination",
"description": "This operation creates a dataflow to export audiences to an SFTP cloud storage destination",
"flowSpec": {
"id": "fd36aaa4-bf2b-43fb-9387-43785eeeb799", // SFTP flow spec ID
"version": "1.0"
},
"sourceConnectionIds": [
"<FROM_STEP_CREATE_SOURCE_CONNECTION>"
],
"targetConnectionIds": [
"<FROM_STEP_CREATE_TARGET_CONNECTION>"
],
"transformations": []
}'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Notieren Sie die Datenfluss-ID aus der Antwort. Diese ID ist in späteren Schritten erforderlich.
Audiences zum Export hinzufügen
In diesem Schritt können Sie auch auswählen, welche Zielgruppen Sie an das Ziel exportieren möchten. Ausführliche Informationen zu diesem Schritt und zum Anfrageformat zum Hinzufügen einer Zielgruppe zum Datenfluss finden Sie in den Beispielen im Abschnitt AktualisierenZieldatenflusses“ der API-Referenzdokumentation.
Einrichten der Attribut- und Identitätszuordnung
Nachdem Sie Ihren Datenfluss erstellt haben, müssen Sie eine Zuordnung für die Attribute und Identitäten einrichten, die Sie exportieren möchten. Dies umfasst drei Schritte, die unten aufgeführt sind:
- Eingabeschema erstellen
- Ausgabeschema erstellen
- Zuordnungssatz einrichten, um die erstellten Schemata zu verbinden
Um beispielsweise die folgende Zuordnung zu erhalten, die in der Benutzeroberfläche angezeigt wird, müssen Sie die drei oben aufgeführten und in den nächsten Überschriften beschriebenen Schritte durchlaufen.
Eingabeschema erstellen
Um ein Eingabeschema zu erstellen, müssen Sie zunächst Ihr Vereinigungsschema“die Identitäten abrufen, die an das Ziel exportiert werden können. Dies ist das Schema der Attribute und Identitäten, die Sie als Quellzuordnung auswählen können.
Nachfolgend finden Sie Beispiele für Anfragen und Antworten zum Abrufen von Attributen und Identitäten.
Anforderung zum Abrufen von Attributen
curl --location --request GET 'https://platform.adobe.io/data/core/ups/config/entityTypes/_xdm.context.profile?property=fullSchema==true&property=includeRelationshipDescriptors==true' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
Antwort
Die unten stehende Antwort wurde zur Vereinfachung gekürzt.
"person": {
"title": "Person",
"description": "An individual actor, contact, or owner.",
"meta:referencedFrom": [
"https://ns.adobe.com/xdm/context/person"
],
"type": "object",
"meta:xdmType": "object",
"properties": {
"birthDate": {
"meta:xdmType": "date",
"type": "string",
"format": "date",
"title": "Birth date(YYYY-MM-DD)",
"description": "The full date a person was born."
},
"birthDayAndMonth": {
"type": "string",
"meta:xdmType": "string",
"title": "Birth date (MM-DD)",
"description": "The day and month a person was born, in the format MM-DD. This field should be used when the day and month of a person's birth is known, but not the year."
},
"birthYear": {
"meta:xdmType": "short",
"type": "integer",
"minimum": 1,
"maximum": 32767,
"title": "Birth year",
"description": "The year a person was born including the century, for example, 1983. This field should be used when only the person's age is known, not the full birth date."
},
"gender": {
"type": "string",
"meta:xdmType": "string",
"title": "Gender",
"description": "Gender identity of the person.\n",
"enum": [
"male",
"female",
"not_specified",
"non_specific"
],
"meta:enum": {
"male": "Male",
"female": "Female",
"not_specified": "Not Specified",
"non_specific": "Non-specific"
},
"default": "not_specified"
},
"maritalStatus": {
"type": "string",
"meta:xdmType": "string",
"title": "Marital Status",
"description": "Describes a person's relationship with a significant other.",
"enum": [
"married",
"single",
"divorced",
"widowed",
"not_specified"
],
"meta:enum": {
"divorced": "Divorced",
"not_specified": "Not Specified",
"married": "Married",
"single": "Single",
"widowed": "Widowed"
},
"default": "not_specified"
},
"name": {
"title": "Full name",
"description": "The person's full name.",
"meta:referencedFrom": [
"https://ns.adobe.com/xdm/context/person-name"
],
"type": "object",
"meta:xdmType": "object",
"properties": {
"courtesyTitle": {
"type": "string",
"meta:xdmType": "string",
"title": "Courtesy title",
"description": "Normally an abbreviation of a persons title, honorific, or salutation. The `courtesyTitle` is used in front of full or last name in opening texts. For example, Mr. Miss. or Dr."
},
"firstName": {
"type": "string",
"meta:xdmType": "string",
"title": "First name",
"description": "The first audience of the name in the writing order most commonly accepted in the language of the name. In many cultures this is the preferred personal or given name. The `firstName` and `lastName` properties have been introduced to maintain compatibility with existing systems that model names in a simplified, non-semantic, and non-internationalizable way. Using `xdm:fullName` is always preferable."
},
"fullName": {
"type": "string",
"meta:xdmType": "string",
"title": "Full name",
"description": "The full name of the person, in writing order most commonly accepted in the language of the name."
},
"lastName": {
"type": "string",
"meta:xdmType": "string",
"title": "Last name",
"description": "The last audience of the name in the writing order most commonly accepted in the language of the name. In many cultures this is the inherited family name, surname, patronymic, or matronymic name. The `firstName` and `lastName` properties have been introduced to maintain compatibility with existing systems that model names in a simplified, non-semantic, and non-internationalizable way. Using `xdm:fullName` is always preferable."
},
"middleName": {
"type": "string",
"meta:xdmType": "string",
"title": "Middle name",
"description": "Middle, alternative, or additional names supplied between the first name and last name."
},
"suffix": {
"type": "string",
"meta:xdmType": "string",
"title": "Suffix",
"description": "A group of letters provided after a person's name to provide additional information. The `suffix` is used at the end of someones name. For example Jr., Sr., M.D., PhD, I, II, III, etc."
}
}
},
"nationality": {
"type": "string",
"meta:xdmType": "string",
"title": "Nationality",
"description": "The legal relationship between a person and their state represented using the ISO 3166-1 Alpha-2 code."
},
"taxId": {
"type": "string",
"meta:xdmType": "string",
"title": "Tax ID",
"description": "The Tax / Fiscal ID of the person, e.g. the TIN in the US or the CIF/NIF in Spain.",
"meta:status": "deprecated"
},
"type": {
"type": "string",
"meta:xdmType": "string",
"title": "Type",
"description": "The type of individual in different business contexts like B2C."
}
}
}
Anfrage zum Abrufen von Identitäten
curl --location --request GET 'https://platform.adobe.io/data/core/idnamespace/identities' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
Antwort
Die Antwort gibt die Identitäten zurück, die Sie beim Erstellen des Eingabeschemas verwenden können. Beachten Sie, dass diese Antwort sowohl standardmäßige als auch benutzerdefinierte Identity-Namespaces zurückgibt, die Sie in Experience Platform eingerichtet haben.
[
{
"updateTime": 1551688425455,
"code": "CORE",
"status": "ACTIVE",
"description": "Adobe Audience Manger UUID",
"id": 0,
"createTime": 1551688425455,
"idType": "COOKIE",
"namespaceType": "Standard",
"name": "CORE",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "ECID",
"status": "ACTIVE",
"description": "Adobe Experience Cloud ID",
"id": 4,
"createTime": 1551688425455,
"idType": "COOKIE",
"namespaceType": "Standard",
"name": "ECID",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "AdCloud",
"status": "ACTIVE",
"description": "Adobe AdCloud - ID Syncing Partner",
"id": 411,
"createTime": 1551688425455,
"idType": "COOKIE",
"namespaceType": "Standard",
"name": "AdCloud",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "Email_LC_SHA256",
"status": "ACTIVE",
"description": "Email addresses need to be hashed using SHA256 and lowercased. Please also note that leading and trailing spaces need to be trimmed before an email address is normalized. You won't be able to change this setting later",
"id": 11,
"createTime": 1551688425455,
"idType": "Email",
"namespaceType": "Standard",
"name": "Emails (SHA256, lowercased)",
"custom": false,
"hashFunction": "SHA256",
"transform": "lowercase"
},
{
"updateTime": 1597996026101,
"code": "Phone_E.164",
"status": "ACTIVE",
"description": "Namespace for raw phone numbers in E.164 format. + sign is required",
"id": 17,
"createTime": 1597996026101,
"idType": "Phone",
"namespaceType": "Standard",
"name": "Phone (E.164)",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "GAID",
"status": "ACTIVE",
"description": "This datasource is associated to a Google Ad ID",
"id": 20914,
"createTime": 1551688425455,
"idType": "DEVICE",
"namespaceType": "Standard",
"name": "Google Ad ID (GAID)",
"custom": false
},
{
"updateTime": 1476993749000,
"code": "IDFA",
"status": "ACTIVE",
"description": "Apple ID for Advertisers. See: https://support.apple.com/en-us/HT202074 for more info.",
"id": 20915,
"createTime": 1476993749000,
"idType": "DEVICE",
"namespaceType": "Standard",
"name": "Apple IDFA (ID for Advertisers)",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "AAID",
"status": "ACTIVE",
"description": "Adobe Analytics (Legacy ID)",
"id": 10,
"createTime": 1551688425455,
"idType": "COOKIE",
"namespaceType": "Standard",
"name": "Adobe Analytics (Legacy ID)",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "Email",
"status": "ACTIVE",
"description": "Email",
"id": 6,
"createTime": 1551688425455,
"idType": "Email",
"namespaceType": "Standard",
"name": "Email",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "WAID",
"status": "ACTIVE",
"description": "Windows AID",
"id": 8,
"createTime": 1551688425455,
"idType": "DEVICE",
"namespaceType": "Standard",
"name": "Windows AID",
"custom": false
},
{
"updateTime": 1551688425455,
"code": "TNTID",
"status": "ACTIVE",
"description": "Adobe Target (TNTID)",
"id": 9,
"createTime": 1551688425455,
"idType": "COOKIE",
"namespaceType": "Standard",
"name": "TNTID",
"custom": false
},
{
"updateTime": 1556676464714,
"code": "Google",
"status": "ACTIVE",
"id": 771,
"createTime": 1556676464714,
"idType": "COOKIE",
"namespaceType": "Integration",
"name": "Google",
"custom": false
},
{
"updateTime": 1604597776019,
"code": "Phone_SHA256_E.164",
"status": "ACTIVE",
"description": "Phone numbers need to be hashed using SHA256 without any dashes. Hash should be completed by customers on raw phone numbers in E.164 format. Please note that some destinations may have different phone number formatting requirements. Refer to documentation or consult your Adobe representative",
"id": 18,
"createTime": 1604597776019,
"idType": "Phone",
"namespaceType": "Standard",
"name": "Phone (SHA256_E.164)",
"custom": false,
"hashFunction": "SHA256"
},
{
"updateTime": 1604597776019,
"code": "Phone_SHA256",
"status": "ACTIVE",
"description": "Remove symbols, letters, and any leading zeroes before hashing. Prefix the country code before hashing. Please note that some destinations may have different phone number formatting requirements. Refer to documentation or consult your Adobe representative",
"id": 15,
"createTime": 1597995542594,
"idType": "Phone",
"namespaceType": "Standard",
"name": "Phone (SHA256)",
"custom": false,
"hashFunction": "SHA256"
},
{
"updateTime": 1551688425455,
"code": "Phone",
"status": "ACTIVE",
"description": "Phone",
"id": 7,
"createTime": 1551688425455,
"idType": "PHONE_NUMBER",
"namespaceType": "Standard",
"name": "Phone",
"custom": false
}
]
Als Nächstes müssen Sie die Antwort von oben kopieren und zum Erstellen Ihres Eingabeschemas verwenden. Sie können die gesamte JSON-Antwort aus der obigen Antwort kopieren und in das unten angegebene jsonSchema
-Objekt einfügen.
Anforderung zum Erstellen des Eingabeschemas
curl --location --request POST 'https://platform.adobe.io/data/foundation/conversion/schemas/' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name":"Sample Schema for Flow Mapping",
"jsonSchema":{...insert response from union schema response here}
'
Antwort
{
"id":"8db56468c2ab475dbf17c2621f92c0f8",
"version":0,
"jsonSchema":{
"title":"XDM Individual Profile",
"description":"An XDM Individual Profile forms a singular representation of the attributes and interests of both identified and partially-identified individuals. Less-identified profiles may contain only anonymous behavioral signals, such as browser cookies, while highly-identified profiles may contain detailed personal information such as name, date of birth, location, and email address. As a profile grows, it becomes a robust repository of personal information, identification information, contact details, and communication preferences for an individual.",
"type":"object",
"properties":{ // this section returns the contents that you have added to the jsonSchema object in the request
}
}
}
Die ID in der Antwort stellt die eindeutige Kennung des von Ihnen erstellten Eingabeschemas dar. Kopieren Sie die ID aus der Antwort, da Sie sie in einem späteren Schritt wiederverwenden werden.
Ausgabeschema erstellen
Als Nächstes müssen Sie das Ausgabeschema für Ihren Export einrichten. Zunächst müssen Sie Ihr vorhandenes Partnerschema finden und überprüfen.
Anfrage
Beachten Sie, dass im folgenden Beispiel die connection spec ID
für Amazon S3 verwendet wird. Ersetzen Sie diesen Wert durch die für Ihr Ziel spezifische Verbindungsspezifikations-ID.
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/4fce964d-3f37-408f-9778-e597338a21ee' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
Antwort mit einem Beispielschema
Überprüfen Sie die Antwort, die Sie beim obigen Aufruf erhalten haben. Sie müssen einen Drilldown in die Antwort durchführen, um das Objekt targetSpec.attributes.partnerSchema.jsonSchema
zu finden
{
"title":"defaultschema",
"type":"object",
"properties":{
"attributes":{
"type":"object",
"meta:xdmType":"map",
"additionalProperties":{
"type":"object",
"properties":{
"value":{
"type":"string",
"title":"Value"
}
},
"meta:xdmType":"object"
}
},
"identityMap":{
"type":"object",
"meta:xdmField":"xdm:identityMap",
"meta:xdmType":"map",
"additionalProperties":{
"type":"array",
"items":{
"type":"object",
"properties":{
"id":{
"type":"string",
"title":"Identifier",
"description":"Identity of the consumer in the related namespace.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:id"
},
"primary":{
"type":"boolean",
"title":"Primary",
"default":false,
"description":"Indicates this identity is the preferred identity. Is used as a hint to help systems better organize how identities are queried.",
"meta:xdmType":"boolean",
"meta:xdmField":"xdm:primary"
},
"authenticatedState":{
"enum":[
"ambiguous",
"authenticated",
"loggedOut"
],
"type":"string",
"default":"ambiguous",
"meta:enum":{
"ambiguous":"Ambiguous",
"loggedOut":"User was identified by a login action at some point of time previously, but is not currently logged in.",
"authenticated":"User identified by a login or similar action that was valid at the time of the event observation."
},
"description":"The state this identity is authenticated as for this observed ExperienceEvent.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:authenticatedState"
}
},
"meta:xdmType":"object",
"meta:referencedFrom":"https://ns.adobe.com/xdm/context/identityitem"
},
"meta:xdmType":"array"
}
},
"segmentMembership":{
"title":"Segment membership map",
"type":"object",
"meta:xdmField":"xdm:segmentMembership",
"meta:xdmType":"map",
"additionalProperties":{
"type":"object",
"title":"Segment membership per namespace",
"meta:xdmType":"map",
"additionalProperties":{
"type":"object",
"properties":{
"status":{
"enum":[
"realized",
"exited"
],
"type":"string",
"title":"Status",
"default":"realized",
"meta:enum":{
"exited":"Entity is exiting the segment.",
"realized":"Entity is entering the segment."
},
"description":"Is the audience participation realized as part of the current request.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:status"
},
"payload":{
"type":"object",
"title":"Payload",
"required":[
"payloadType"
],
"properties":{
"payloadType":{
"enum":[
"boolean",
"number",
"propensity",
"string"
],
"type":"string",
"title":"Payload Type",
"meta:enum":{
"number":"Number",
"string":"String",
"boolean":"Boolean",
"propensity":"Propensity"
},
"description":"The type of payload.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:payloadType"
},
"payloadNumberValue":{
"type":"number",
"title":"Value",
"description":"The number.",
"meta:xdmType":"number",
"meta:xdmField":"xdm:payloadNumberValue"
},
"payloadStringValue":{
"type":"string",
"title":"Value",
"description":"The string value.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:payloadStringValue"
},
"payloadBooleanValue":{
"type":"boolean",
"title":"Value",
"description":"The boolean value.",
"meta:xdmType":"boolean",
"meta:xdmField":"xdm:payloadBooleanValue"
},
"payloadPropensityValue":{
"type":"number",
"title":"Value",
"maximum":1,
"description":"The propensity.",
"meta:xdmType":"number",
"meta:xdmField":"xdm:payloadPropensityValue",
"exclusiveMinimum":0
}
},
"description":"Values that are directly related with the audience realization. This payload exists with the same 'validUntil' as the audience realization. Note that the intention is that exactly one payload value be included, as indicated by the payload type. This was originally modeled using 'oneOf', but due to limitations in our tooling that was removed. This more semantically meaningful representation will be re-introduced in the future.",
"meta:xdmType":"object",
"meta:xdmField":"xdm:payload"
},
"version":{
"type":"string",
"title":"Version",
"description":"The version of the audience definition used in this audience assertion. Version can be omitted in audience lists when all memberships versions are the same.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:version"
},
"segmentID":{
"type":"object",
"title":"Segment ID",
"properties":{
"_id":{
"type":"string",
"title":"Identifier",
"format":"uri-reference",
"description":"Identity of the audience in the related namespace.",
"meta:xdmType":"string",
"meta:xdmField":"@id"
},
"xid":{
"type":"string",
"title":"Experience identifier",
"description":"When present, this value represents a cross-namespace identifier that is unique across all namespace-scoped identifiers in all namespaces.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:xid"
},
"namespace":{
"type":"object",
"title":"Namespace",
"required":[
"code"
],
"properties":{
"code":{
"type":"string",
"title":"Code",
"description":"The code is a human readable identifier for the namespace and can be used to request the technical namespace id which is used for identity graph processing.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:code"
}
},
"description":"The namespace associated with the `xid` attribute.",
"meta:xdmType":"object",
"meta:xdmField":"xdm:namespace",
"meta:referencedFrom":"https://ns.adobe.com/xdm/context/namespace"
}
},
"description":"The identity of the audience or snapshot definition in with the domain of the specific system that processes that type of segment. Deprecated.",
"meta:status":"deprecated",
"meta:xdmType":"object",
"meta:xdmField":"xdm:segmentID",
"meta:referencedFrom":"https://ns.adobe.com/xdm/context/segmentidentity"
},
"validUntil":{
"type":"string",
"title":"Valid until",
"format":"date-time",
"description":"The timestamp for when the audienceassertion should no longer be assumed to be valid and should either be ignored or revalidated.",
"meta:xdmType":"date-time",
"meta:xdmField":"xdm:validUntil"
},
"profileStitchID":{
"type":"object",
"properties":{
"_id":{
"type":"string",
"title":"Identifier",
"format":"uri-reference",
"description":"Identity of the profile stitch in the related namespace.",
"meta:xdmType":"string",
"meta:xdmField":"@id"
},
"xid":{
"type":"string",
"title":"Experience identifier",
"description":"When present, this value represents a cross-namespace identifier that is unique across all namespace-scoped identifiers in all namespaces.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:xid"
},
"namespace":{
"type":"object",
"title":"Namespace",
"required":[
"code"
],
"properties":{
"code":{
"type":"string",
"title":"Code",
"description":"The code is a human readable identifier for the namespace and can be used to request the technical namespace id which is used for identity graph processing.",
"meta:xdmType":"string",
"meta:xdmField":"xdm:code"
}
},
"description":"The namespace associated with the `xid` attribute.",
"meta:xdmType":"object",
"meta:xdmField":"xdm:namespace",
"meta:referencedFrom":"https://ns.adobe.com/xdm/context/namespace"
}
},
"meta:xdmType":"object",
"meta:xdmField":"xdm:profileStitchID",
"meta:referencedFrom":"https://ns.adobe.com/xdm/context/profileStitchIdentity"
},
"lastQualificationTime":{
"type":"string",
"title":"Last qualification time",
"format":"date-time",
"description":"The timestamp when the assertion of audience membership was made.",
"meta:xdmType":"date-time",
"meta:xdmField":"xdm:lastQualificationTime"
}
},
"meta:xdmType":"object",
"meta:referencedFrom":"https://ns.adobe.com/xdm/context/segmentmembership"
}
}
}
}
}
Als Nächstes müssen Sie ein Ausgabeschema erstellen. Kopieren Sie die oben erhaltene JSON-Antwort und fügen Sie sie unten in das jsonSchema
ein.
Anfrage
curl --location --request POST 'https://platform.adobe.io/data/foundation/conversion/schemas' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Sample Schema for Flow Mapping",
"jsonSchema":{...insert JSON from the response above here}
}
'
Antwort
{
"id": "2f4fd51934c1409fb1d8207dd9f43dc9",
"version": 0,
"jsonSchema": {
"title": "defaultschema",
"type": "object",
"properties": {
"identityMap": {
"type": "object",
"meta:xdmField": "xdm:identityMap",
"meta:xdmType": "map",
"additionalProperties": {
"meta:xdmType": "array",
"items": {
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/identityitem",
"properties": {
"primary": {
"meta:xdmField": "xdm:primary",
"meta:xdmType": "boolean",
"description": "Indicates this identity is the preferred identity. Is used as a hint to help systems better organize how identities are queried.",
"default": false,
"type": "boolean",
"title": "Primary"
},
"id": {
"meta:xdmField": "xdm:id",
"meta:xdmType": "string",
"description": "Identity of the consumer in the related namespace.",
"type": "string",
"title": "Identifier"
},
"authenticatedState": {
"meta:xdmField": "xdm:authenticatedState",
"meta:xdmType": "string",
"meta:enum": {
"loggedOut": "User was identified by a login action at some point of time previously, but is not currently logged in.",
"authenticated": "User identified by a login or similar action that was valid at the time of the event observation.",
"ambiguous": "Ambiguous"
},
"enum": [
"ambiguous",
"authenticated",
"loggedOut"
],
"default": "ambiguous",
"type": "string",
"description": "The state this identity is authenticated as for this observed ExperienceEvent."
}
},
"meta:xdmType": "object",
"type": "object"
},
"type": "array"
}
},
"segmentMembership": {
"title": "Segment membership map",
"type": "object",
"meta:xdmField": "xdm:segmentMembership",
"meta:xdmType": "map",
"additionalProperties": {
"additionalProperties": {
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/segmentmembership",
"properties": {
"version": {
"meta:xdmField": "xdm:version",
"meta:xdmType": "string",
"description": "The version of the audience definition used in this audience assertion. Version can be omitted in audience lists when all memberships versions are the same.",
"type": "string",
"title": "Version"
},
"validUntil": {
"meta:xdmField": "xdm:validUntil",
"meta:xdmType": "date-time",
"description": "The timestamp for when the audienceassertion should no longer be assumed to be valid and should either be ignored or revalidated.",
"format": "date-time",
"type": "string",
"title": "Valid until"
},
"status": {
"meta:xdmField": "xdm:status",
"meta:xdmType": "string",
"meta:enum": {
"exited": "Entity is exiting the segment.",
"realized": "Entity is entering the segment."
},
"enum": [
"realized",
"exited"
],
"default": "realized",
"description": "Is the audience participation realized as part of the current request.",
"type": "string",
"title": "Status"
},
"segmentID": {
"meta:xdmField": "xdm:segmentID",
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/segmentidentity",
"properties": {
"xid": {
"meta:xdmField": "xdm:xid",
"meta:xdmType": "string",
"description": "When present, this value represents a cross-namespace identifier that is unique across all namespace-scoped identifiers in all namespaces.",
"type": "string",
"title": "Experience identifier"
},
"namespace": {
"meta:xdmField": "xdm:namespace",
"required": [
"code"
],
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/namespace",
"properties": {
"code": {
"meta:xdmField": "xdm:code",
"meta:xdmType": "string",
"description": "The code is a human readable identifier for the namespace and can be used to request the technical namespace id which is used for identity graph processing.",
"type": "string",
"title": "Code"
}
},
"meta:xdmType": "object",
"type": "object",
"description": "The namespace associated with the `xid` attribute.",
"title": "Namespace"
},
"_id": {
"meta:xdmField": "@id",
"meta:xdmType": "string",
"description": "Identity of the audience in the related namespace.",
"format": "uri-reference",
"type": "string",
"title": "Identifier"
}
},
"meta:xdmType": "object",
"type": "object",
"description": "The identity of the audience or snapshot definition in with the domain of the specific system that processes that type of segment. Deprecated.",
"meta:status": "deprecated",
"title": "Segment ID"
},
"profileStitchID": {
"meta:xdmField": "xdm:profileStitchID",
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/profileStitchIdentity",
"properties": {
"xid": {
"meta:xdmField": "xdm:xid",
"meta:xdmType": "string",
"description": "When present, this value represents a cross-namespace identifier that is unique across all namespace-scoped identifiers in all namespaces.",
"type": "string",
"title": "Experience identifier"
},
"namespace": {
"meta:xdmField": "xdm:namespace",
"required": [
"code"
],
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/namespace",
"properties": {
"code": {
"meta:xdmField": "xdm:code",
"meta:xdmType": "string",
"description": "The code is a human readable identifier for the namespace and can be used to request the technical namespace id which is used for identity graph processing.",
"type": "string",
"title": "Code"
}
},
"meta:xdmType": "object",
"type": "object",
"description": "The namespace associated with the `xid` attribute.",
"title": "Namespace"
},
"_id": {
"meta:xdmField": "@id",
"meta:xdmType": "string",
"description": "Identity of the profile stitch in the related namespace.",
"format": "uri-reference",
"type": "string",
"title": "Identifier"
}
},
"meta:xdmType": "object",
"type": "object"
},
"payload": {
"meta:xdmField": "xdm:payload",
"meta:xdmType": "object",
"required": [
"payloadType"
],
"properties": {
"payloadType": {
"meta:xdmField": "xdm:payloadType",
"meta:xdmType": "string",
"description": "The type of payload.",
"meta:enum": {
"string": "String",
"propensity": "Propensity",
"number": "Number",
"boolean": "Boolean"
},
"enum": [
"boolean",
"number",
"propensity",
"string"
],
"type": "string",
"title": "Payload Type"
},
"payloadStringValue": {
"meta:xdmField": "xdm:payloadStringValue",
"meta:xdmType": "string",
"description": "The string value.",
"type": "string",
"title": "Value"
},
"payloadPropensityValue": {
"meta:xdmField": "xdm:payloadPropensityValue",
"meta:xdmType": "number",
"maximum": 1,
"exclusiveMinimum": 0,
"description": "The propensity.",
"type": "number",
"title": "Value"
},
"payloadNumberValue": {
"meta:xdmField": "xdm:payloadNumberValue",
"meta:xdmType": "number",
"description": "The number.",
"type": "number",
"title": "Value"
},
"payloadBooleanValue": {
"meta:xdmField": "xdm:payloadBooleanValue",
"meta:xdmType": "boolean",
"description": "The boolean value.",
"type": "boolean",
"title": "Value"
}
},
"type": "object",
"description": "Values that are directly related with the audience realization. This payload exists with the same 'validUntil' as the audience realization. Note that the intention is that exactly one payload value be included, as indicated by the payload type. This was originally modeled using 'oneOf', but due to limitations in our tooling that was removed. This more semantically meaningful representation will be re-introduced in the future.",
"title": "Payload"
},
"lastQualificationTime": {
"meta:xdmField": "xdm:lastQualificationTime",
"meta:xdmType": "date-time",
"description": "The timestamp when the assertion of audience membership was made.",
"format": "date-time",
"type": "string",
"title": "Last qualification time"
}
},
"meta:xdmType": "object",
"type": "object"
},
"meta:xdmType": "map",
"type": "object",
"title": "Segment membership per namespace"
}
},
"attributes": {
"type": "object",
"meta:xdmType": "map",
"additionalProperties": {
"properties": {
"value": {
"type": "string",
"title": "Value"
}
},
"meta:xdmType": "object",
"type": "object"
}
},
"firstName": {
"title": "firstName",
"type": "string"
},
"Email": {
"title": "Email",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"title": "id",
"type": "string",
"meta:xdmType": "string"
}
},
"meta:xdmType": "object"
},
"meta:xdmType": "array"
}
}
}
}
Die ID in der Antwort stellt die eindeutige Kennung des von Ihnen erstellten Eingabeschemas dar. Kopieren Sie die ID aus der Antwort, da Sie sie in einem späteren Schritt wiederverwenden werden.
Zuordnungssatz erstellen
Verwenden Sie anschließend die Datenvorbereitungs-API um den Zuordnungssatz mithilfe der Eingabeschema-ID, der Ausgabeschema-ID und der gewünschten Feldzuordnungen zu erstellen.
Anfrage
- Im unten gezeigten Zuordnungsobjekt akzeptiert der
destination
keine"."
Punkte. Sie müssten beispielsweise personalEmail_address oder segmentMembership_status verwenden, wie im Konfigurationsbeispiel hervorgehoben. - Es gibt einen bestimmten Fall, in dem das Quellattribut ein Identitätsattribut ist und einen Punkt enthält. In diesem Fall muss das Attribut wie unten hervorgehoben mit
//
maskiert werden. - Beachten Sie außerdem, dass Sie, obwohl die folgende Beispielkonfiguration
Email
undPhone_E.164
enthält, nur ein Identitätsattribut pro Datenfluss exportieren können.
curl --location --request POST 'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputSchema": {
"id": "81d7fc5376e54eb58d5186fd30d5a8c9"
},
"outputSchema": {
"id": "2f4fd51934c1409fb1d8207dd9f43dc9"
},
"mappings": [
{
"destination": "firstName",
"source": "person.name.firstName",
"sourceType": "ATTRIBUTE"
},
{
"destination": "Email",
"source": "identityMap.Email",
"sourceType": "ATTRIBUTE"
},
{
"destination": "Phone_E_164",
"source": "identityMap.Phone_E//.164",
"sourceType": "ATTRIBUTE"
},
{
"destination": "personalEmail_address",
"source": "personalEmail.address",
"sourceType": "ATTRIBUTE"
},
{
"destination": "segmentMembership_status",
"source": "segmentMembership.ups.seg_id.status",
"sourceType": "ATTRIBUTE"
}
],
"xdmVersion": "1.0"
}'
Antwort
{
"id": "5f0031f8ccd4444dac9c5c391389e9e8",
"version": 0,
"createdDate": 1678999005197,
"modifiedDate": 1678999005197,
"createdBy": "example@AdobeID",
"modifiedBy": "example@AdobeID"
}
Notieren Sie die ID des Zuordnungssatzes, da Sie sie im nächsten Schritt benötigen werden, um den vorhandenen Datenfluss mit der Zuordnungssatz-ID zu aktualisieren.
Rufen Sie als Nächstes die ID des Datenflusses ab, den Sie aktualisieren möchten.
Weitere zum Abrufen der ID eines Datenflusses findenunter „Abrufen der Details Zieldatenflusses“.
Schließlich müssen Sie den Datenfluss mit den soeben erstellten Zuordnungssatzinformationen PATCH
.
Anfrage
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/df8245a8-dd8f-42da-a04a-2d3a92654d9e' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'If-Match: ETAG_HERE' \
--data-raw '[
{
"op":"ADD",
"path":"/transformations/0/params/profileMapping",
"value":{
"mappingId":"304ca6a2fff244949c956cad1cd9eae6",
"mappingVersion":0
}
}
]'
Antwort
Die Antwort von der Flow Service-API gibt die ID des aktualisierten Datenflusses zurück.
{
"id": "1c246ae4-ba0d-43cd-a0ec-f16fe0a56b55",
"etag": "\"1500c67f-0000-0200-0000-64137ee00000\""
}
Vornehmen anderer Datenfluss-Aktualisierungen
Um Aktualisierungen an Ihrem Datenfluss vorzunehmen, verwenden Sie den Vorgang PATCH
. Sie können beispielsweise eine Marketing-Aktion zu Ihren Datenflüssen hinzufügen. Sie können Ihre Datenflüsse auch aktualisieren, um Felder als obligatorische Schlüssel oder Deduplizierungsschlüssel auszuwählen.
Hinzufügen einer Marketing-Aktion
Um eine Marketing-Aktion hinzuzufügen, sehen Sie sich die folgenden Anfrage- und Antwortbeispiele an.
PATCH
-Anfrage ist die If-Match
-Kopfzeile erforderlich. Der Wert für diese Kopfzeile ist die eindeutige Version des Datenflusses, den Sie aktualisieren möchten. Der eTag-Wert wird bei jeder erfolgreichen Aktualisierung einer Flussentität aktualisiert, z. B. Datenfluss, Zielverbindung und andere.https://platform.adobe.io/data/foundation/flowservice/flows/{ID}
-Endpunkt durch, wobei {ID}
die Datenfluss-ID ist, die Sie aktualisieren möchten.PATCH
Anfragen den Wert des If-Match
-Headers in doppelte Anführungszeichen setzen, wie in den Beispielen unten.Anfrage
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'If-Match: "{ETAG_HERE}"' \
--data-raw '[
{
"op":"add",
"path":"/policy",
"value":{
"enforcementRefs":[
]
}
},
{
"op":"add",
"path":"/policy/enforcementRefs/-",
"value":"/dulepolicy/marketingActions/custom/6b935bc8-bb9e-451b-a327-0ffddfb91e66/constraints"
}
]'
Antwort
Bei einer erfolgreichen Antwort wird der Antwort-Code 200
zusammen mit der ID des aktualisierten Datenflusses und dem aktualisierten eTag zurückgegeben.
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Obligatorischen Schlüssel hinzufügen
Informationen zum Hinzufügen obligatorischen Schlüssels finden Sie in den Beispielen für Anfragen und Antworten unten.
PATCH
-Anfrage ist die If-Match
-Kopfzeile erforderlich. Der Wert für diese Kopfzeile ist die eindeutige Version des Datenflusses, den Sie aktualisieren möchten. Der eTag-Wert wird bei jeder erfolgreichen Aktualisierung einer Flussentität aktualisiert, z. B. Datenfluss, Zielverbindung und andere.https://platform.adobe.io/data/foundation/flowservice/flows/{ID}
-Endpunkt durch, wobei {ID}
die Datenfluss-ID ist, die Sie aktualisieren möchten.PATCH
Anfragen den Wert des If-Match
-Headers in doppelte Anführungszeichen setzen, wie in den Beispielen unten.Anfrage
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'If-Match: "{ETAG_HERE}"' \
--data-raw '
[
{
"op": "add",
"path": "/transformations/0/params/mandatoryFields",
"value": [
"GAID"
]
}
]'
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'If-Match: "{ETAG_HERE}"' \
--data-raw '
[
{
"op": "add",
"path": "/transformations/0/params/mandatoryFields",
"value": [
"GAID"
]
}
]'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Deduplizierungsschlüssel hinzufügen
Informationen zum Hinzufügen Deduplizierungsschlüssels finden Sie in den Anfrage- und Antwortbeispielen unten
PATCH
-Anfrage ist die If-Match
-Kopfzeile erforderlich. Der Wert für diese Kopfzeile ist die eindeutige Version des Datenflusses, den Sie aktualisieren möchten. Der eTag-Wert wird bei jeder erfolgreichen Aktualisierung einer Flussentität aktualisiert, z. B. Datenfluss, Zielverbindung und andere.https://platform.adobe.io/data/foundation/flowservice/flows/{ID}
-Endpunkt durch, wobei {ID}
die Datenfluss-ID ist, die Sie aktualisieren möchten.PATCH
Anfragen den Wert des If-Match
-Headers in doppelte Anführungszeichen setzen, wie in den Beispielen unten.Anfrage
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'If-Match: "{ETAG_HERE}"' \
--data-raw '
[
{
"op": "add",
"path": "/transformations/0/params/primaryFields",
"value": [
{
"identityNamespace": "GAID",
"fieldType": "IDENTITY"
}
]
}
]'
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'If-Match: "{ETAG_HERE}"' \
--data-raw '
[
{
"op": "add",
"path": "/transformations/0/params/primaryFields",
"value": [
{
"identityNamespace": "GAID",
"fieldType": "IDENTITY"
}
]
}
]'
Antwort
{
"id": "eb54b3b3-3949-4f12-89c8-64eafaba858f",
"etag": "\"0000d781-0000-0200-0000-63e29f420000\""
}
Datenfluss validieren (Datenflussausführungen abrufen)
Um die Ausführungen eines Datenflusses zu überprüfen, verwenden Sie die Datenflussausführungs-API:
Anfrage
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/runs?property=flowId==eb54b3b3-3949-4f12-89c8-64eafaba858f' \
--header 'accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data-raw ''
Antwort
{
"items": [
{
"id": "4b7728dd-83c9-4c38-95a4-24ddab545404",
"createdAt": 1675807718296,
"updatedAt": 1675807731834,
"createdBy": "aep_activation_batch@AdobeID",
"updatedBy": "acp_foundation_connectors@AdobeID",
"createdClient": "aep_activation_batch",
"updatedClient": "acp_foundation_connectors",
"sandboxId": "7dfdcd30-0a09-11ea-8ea6-7bf93ce86c28",
"sandboxName": "sand-1",
"imsOrgId": "5555467B5D8013E50A494220@AdobeOrg",
"flowId": "aae5ec63-b0ac-4808-9a44-abf2ea67bd5a",
"flowSpec": {
"id": "615d3489-36d2-4671-9467-4ae1129facd3",
"version": "1.0"
},
"providerRefId": "ba56f98e0c49b572adb249980c39b1c7",
"etag": "\"08005e9e-0000-0200-0000-63e2cbf30000\"",
"metrics": {
"durationSummary": {
"startedAtUTC": 1675807719411,
"completedAtUTC": 1675807719416
},
"sizeSummary": {
"inputBytes": 0
},
"recordSummary": {
"inputRecordCount": 0,
"skippedRecordCount": 0,
"sourceSummaries": [
{
"id": "ea2b1205-4692-49de-b448-ebf75b1d188a",
"inputRecordCount": 0,
"skippedRecordCount": 0,
"entitySummaries": [
{
//...
Informationen zu den verschiedenen von der Datenflussausführungs-API zurückgegebenen Parametern“ finden Sieder API-Referenzdokumentation.
Umgang mit API-Fehlern
Die API-Endpunkte in diesem Tutorial folgen den allgemeinen Grundsätzen von Experience Platform API-Fehlermeldungen. Weitere Informationen Interpretieren von Fehlerantworten finden Sie unterAPI-Status-Codes undFehler in der Anfragekopfzeile im Handbuch zur Fehlerbehebung bei Experience Platform .
Nächste Schritte
In diesem Tutorial haben Sie Experience Platform erfolgreich mit einem Ihrer bevorzugten Cloud-Speicher-Ziele verbunden und einen Datenfluss zum entsprechenden Ziel eingerichtet, um Zielgruppen zu exportieren. Auf den folgenden Seiten finden Sie weitere Details, z. B. wie Sie vorhandene Datenflüsse mit der Flow Service-API bearbeiten: