Filtern von Daten auf Zeilenebene für eine Quelle mithilfe der Flow Service-API

AVAILABILITY
Die Unterstützung für das Filtern von Daten auf Zeilenebene ist derzeit nur für die folgenden Quellen verfügbar:

In diesem Handbuch finden Sie Anweisungen zum Filtern von Daten auf Zeilenebene für eine Quelle mit der Flow Service API.

Erste Schritte

Dieses Tutorial setzt ein Grundverständnis der folgenden Komponenten von Adobe Experience Platform voraus:

  • Quellen: Experience Platform ermöglicht die Aufnahme von Daten aus verschiedenen Quellen und bietet Ihnen die Möglichkeit, die eingehenden Daten mithilfe von Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
  • Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Platform-Instanz in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse entwickeln und weiterentwickeln können.

Verwenden von Platform-APIs

Informationen darüber, wie Sie Platform-APIs erfolgreich aufrufen können, finden Sie im Handbuch unter Erste Schritte mit Platform-APIs.

Filtern von Quelldaten filter-source-data

Im Folgenden werden die Schritte beschrieben, die zum Filtern von Daten auf Zeilenebene für Ihre Quelle durchgeführt werden müssen.

Abrufen Ihrer Verbindungsspezifikationen retrieve-your-connection-specs

Der erste Schritt beim Filtern von Daten auf Zeilenebene für Ihre Quelle besteht darin, die Verbindungsspezifikationen Ihrer Quelle abzurufen und die von Ihrer Quelle unterstützten Operatoren und Sprachen zu bestimmen.

Um die Verbindungsspezifikation einer bestimmten Quelle abzurufen, stellen Sie eine GET-Anfrage an den /connectionSpecs -Endpunkt der Flow Service -API und geben Sie den Eigenschaftsnamen Ihrer Quelle als Teil Ihrer Abfrageparameter an.

API-Format

GET /connectionSpecs/{QUERY_PARAMS}
Parameter
Beschreibung
{QUERY_PARAMS}
Die optionalen Abfrageparameter, nach denen Ergebnisse gefiltert werden sollen. Sie können die Verbindungsspezifikation Google BigQuery abrufen, indem Sie die Eigenschaft name anwenden und in Ihrer Suche "google-big-query" angeben.
Anfrage

Die folgende Anfrage ruft die Verbindungsspezifikationen für Google BigQuery ab.

code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
Antwort

Eine erfolgreiche Antwort gibt den Status-Code 200 und die Verbindungsanforderungen für Google BigQuery zurück, einschließlich Informationen zur unterstützten Abfragesprache und logischen Operatoren.

code language-json
"attributes": {
  "filterAtSource": {
    "enabled": true,
    "queryLanguage": "SQL",
    "logicalOperators": [
      "and",
      "or",
      "not"
    ],
    "comparisonOperators": [
      "=",
      "!=",
      "<",
      "<=",
      ">",
      ">=",
      "like",
      "in"
    ],
    "columnNameEscapeChar": "`",
    "valueEscapeChar": "'"
  }
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 layout-auto
Eigenschaft Beschreibung
attributes.filterAtSource.enabled Bestimmt, ob die abgefragte Quelle das Filtern von Daten auf Zeilenebene unterstützt.
attributes.filterAtSource.queryLanguage Bestimmt die Abfragesprache, die die abgefragte Quelle unterstützt.
attributes.filterAtSource.logicalOperators Bestimmt die logischen Operatoren, mit denen Sie Daten auf Zeilenebene für Ihre Quelle filtern können.
attributes.filterAtSource.comparisonOperators Bestimmt Vergleichsoperatoren, mit denen Sie Daten auf Zeilenebene für Ihre Quelle filtern können. Weitere Informationen zu Vergleichsoperatoren finden Sie in der unten stehenden Tabelle.
attributes.filterAtSource.columnNameEscapeChar Legt das Zeichen fest, das als Escape-Zeichen für Spalten verwendet werden soll.
attributes.filterAtSource.valueEscapeChar Bestimmt, wie Werte beim Schreiben einer SQL-Abfrage eingebunden werden.

Vergleichsoperatoren comparison-operators

Operator
Beschreibung
==
Filtert danach, ob die Eigenschaft dem bereitgestellten Wert entspricht.
!=
Filtert danach, ob die Eigenschaft nicht dem bereitgestellten Wert entspricht.
<
Filtert danach, ob die Eigenschaft kleiner als der angegebene Wert ist.
>
Filtert danach, ob die Eigenschaft größer als der angegebene Wert ist.
<=
Filtert danach, ob die Eigenschaft kleiner oder gleich dem angegebenen Wert ist.
>=
Filtert danach, ob die Eigenschaft größer oder gleich dem angegebenen Wert ist.
like
Filtert, indem in einer WHERE -Klausel verwendet wird, um nach einem bestimmten Muster zu suchen.
in
Filtert nach, ob sich die Eigenschaft innerhalb eines angegebenen Bereichs befindet.

Filterbedingungen für die Aufnahme festlegen specify-filtering-conditions-for-ingestion

Nachdem Sie die von Ihrer Quelle unterstützten logischen Operatoren und Abfragesprachen identifiziert haben, können Sie mit Profile Query Language (PQL) die Filterbedingungen festlegen, die auf Ihre Quelldaten angewendet werden sollen.

Im folgenden Beispiel werden Bedingungen nur auf ausgewählte Daten angewendet, die den bereitgestellten Werten für die Knotentypen entsprechen, die als Parameter aufgeführt sind.

{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "=",
    "params": [
      {
        "nodeType": "fieldLookup",
        "fieldName": "city"
      },
      {
        "nodeType": "literal",
        "value": "DDN"
      }
    ]
  }
}

Datenvorschau preview-your-data

Sie können eine Vorschau Ihrer Daten anzeigen, indem Sie eine GET-Anfrage an den /explore -Endpunkt der Flow Service -API richten, dabei filters als Teil Ihrer Abfrageparameter angeben und Ihre PQL-Eingabebedingungen in Base64 angeben.

API-Format

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}&preview=true&filters={FILTERS}
Parameter
Beschreibung
{BASE_CONNECTION_ID}
Die Kennung der Basisverbindung Ihrer Quelle.
{TABLE_PATH}
Die Pfadeigenschaft der Tabelle, die Sie überprüfen möchten.
{FILTERS}
Ihre in Base64 kodierten PQL-Filterbedingungen.
Anfrage
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/89d1459e-3cd0-4069-acb3-68f240db4eeb/explore?objectType=table&object=TESTFAS.FASTABLE&preview=true&filters=ewogICJ0eXBlIjogIlBRTCIsCiAgImZvcm1hdCI6ICJwcWwvanNvbiIsCiAgInZhbHVlIjogewogICAgIm5vZGVUeXBlIjogImZuQXBwbHkiLAogICAgImZuTmFtZSI6ICJhbmQiLAogICAgInBhcmFtcyI6IFsKICAgICAgewogICAgICAgICJub2RlVHlwZSI6ICJmbkFwcGx5IiwKICAgICAgICAiZm5OYW1lIjogImxpa2UiLAogICAgICAgICJwYXJhbXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJmaWVsZExvb2t1cCIsCiAgICAgICAgICAgICJmaWVsZE5hbWUiOiAiY2l0eSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJsaXRlcmFsIiwKICAgICAgICAgICAgInZhbHVlIjogIk0lIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgXQogIH0KfQ==\' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
Antwort

Eine erfolgreiche Antwort gibt den Inhalt und die Struktur Ihrer Daten zurück.

code language-json
{
  "format": "flat",
  "schema": {
    "columns": [
      {
        "name": "FIRSTNAME",
        "type": "string",
        "xdm": {
          "type": "string"
        }
      },
      {
        "name": "LASTNAME",
        "type": "string",
        "xdm": {
          "type": "string"
        }
      },
      {
        "name": "CITY",
        "type": "string",
        "xdm": {
          "type": "string"
        }
      },
      {
        "name": "AGE",
        "type": "string",
        "xdm": {
          "type": "string"
        }
      },
      {
        "name": "HEIGHT",
        "type": "string",
        "xdm": {
          "type": "string"
        }
      },
      {
        "name": "ISEMPLOYED",
        "type": "boolean",
        "xdm": {
          "type": "boolean"
        }
      },
      {
        "name": "POSTG",
        "type": "boolean",
        "xdm": {
          "type": "boolean"
        }
      },
      {
        "name": "LATITUDE",
        "type": "double",
        "xdm": {
          "type": "number"
        }
      },
      {
        "name": "LONGITUDE",
        "type": "double",
        "xdm": {
          "type": "number"
        }
      },
      {
        "name": "JOINEDDATE",
        "type": "string",
        "meta:xdmType": "date-time",
        "xdm": {
          "type": "string",
          "format": "date-time"
        }
      },
      {
        "name": "CREATEDAT",
        "type": "string",
        "meta:xdmType": "date-time",
        "xdm": {
          "type": "string",
          "format": "date-time"
        }
      },
      {
        "name": "CREATEDATTS",
        "type": "string",
        "meta:xdmType": "date-time",
        "xdm": {
          "type": "string",
          "format": "date-time"
        }
      }
    ]
  },
 "data": [
    {
        "CITY": "MZN",
        "LASTNAME": "Jain",
        "JOINEDDATE": "2022-06-22T00:00:00",
        "LONGITUDE": 1000.222,
        "CREATEDAT": "2022-06-22T17:19:33",
        "FIRSTNAME": "Shivam",
        "POSTG": true,
        "HEIGHT": "169",
        "CREATEDATTS": "2022-06-22T17:19:33",
        "ISEMPLOYED": true,
        "LATITUDE": 2000.89,
        "AGE": "25"
    },
    {
        "CITY": "MUM",
        "LASTNAME": "Kreet",
        "JOINEDDATE": "2022-09-07T00:00:00",
        "LONGITUDE": 10500.01,
        "CREATEDAT": "2022-09-07T17:19:33",
        "FIRSTNAME": "Rakul",
        "POSTG": true,
        "HEIGHT": "155",
        "CREATEDATTS": "2022-09-07T17:19:33",
        "ISEMPLOYED": false,
        "LATITUDE": 2500.89,
        "AGE": "42"
    },
    {
        "CITY": "MAN",
        "LASTNAME": "Lee",
        "JOINEDDATE": "2022-09-14T00:00:00",
        "LONGITUDE": 1000.222,
        "CREATEDAT": "2022-09-14T05:02:33",
        "FIRSTNAME": "Denzel",
        "POSTG": true,
        "HEIGHT": "185",
        "CREATEDATTS": "2022-09-14T05:02:33",
        "ISEMPLOYED": true,
        "LATITUDE": 123.89,
        "AGE": "16"
    }
  ]
}

Quellverbindung für gefilterte Daten erstellen

Um eine Quellverbindung zu erstellen und gefilterte Daten zu erfassen, stellen Sie eine POST-Anfrage an den /sourceConnections -Endpunkt und geben Sie Ihre Filterbedingungen in den Anfrageteilparametern an.

API-Format

POST /sourceConnections
Anfrage

Die folgende Anfrage erstellt eine Quellverbindung zum Erfassen von Daten von test1.fasTestTable, wobei city = DDN ist.

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "BigQuery Source Connection",
      "description": "Source Connection for Filter test",
      "baseConnectionId": "89d1459e-3cd0-4069-acb3-68f240db4eeb",
      "data": {
        "format": "tabular"
      },
      "params": {
        "tableName": "test1.fasTestTable",
        "filters": {
          "type": "PQL",
          "format": "pql/json",
          "value": {
            "nodeType": "fnApply",
            "fnName": "=",
            "params": [
              {
                "nodeType": "fieldLookup",
                "fieldName": "city"
              },
              {
                "nodeType": "literal",
                "value": "DDN"
              }
            ]
          }
        }
      },
      "connectionSpec": {
        "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
        "version": "1.0"
      }
    }'
Antwort

Eine erfolgreiche Antwort gibt die eindeutige Kennung (id) der neu erstellten Quellverbindung zurück.

code language-json
{
    "id": "b7581b59-c603-4df1-a689-d23d7ac440f3",
    "etag": "\"ef05d265-0000-0200-0000-6019e0080000\""
}

Filtern von Aktivitätsentitäten nach Marketo Engage filter-for-marketo

Sie können die Filterung auf Zeilenebene verwenden, um bei Verwendung des Marketo Engage Quell-Connectors nach Aktivitätsentitäten zu filtern. Derzeit können Sie nur nach Aktivitätsentitäten und standardmäßigen Aktivitätstypen filtern. Benutzerdefinierte Aktivitäten werden weiterhin unter Marketo Feldzuordnungen verwaltet.

Marketo standardmäßige Aktivitätstypen marketo-standard-activity-types

In der folgenden Tabelle sind die standardmäßigen Aktivitätstypen für Marketo aufgeführt. Verwenden Sie diese Tabelle als Referenz für Ihre Filterkriterien.

Aktivitätstyp-ID
Aktivitätstyp name
1
Besuchs-Webseite
2
Formular ausfüllen
3
Link auswählen
6
E-Mail senden
7
E-Mail zugestellt
8
E-Mail gebounct
9
E-Mail abmelden
10
E-Mail öffnen
11
Klick auf E-Mail
12
Neuer Lead
21
Lead konvertieren
22
Score ändern
24
Zu Liste hinzufügen
25
Aus Liste entfernen
27
E-Mail nicht zugestellt (Soft-Bounce)
32
Leads zusammenführen
34
Zu Chancen hinzufügen
35
Aus Opportunity entfernen
36
Aktualisierungsmöglichkeit
46
Interessanter Moment
101
Umsatzschritt ändern
104
Änderungsstatus in Progression
110
Webhook aufrufen
113
Zu Krankenpflege hinzufügen
114
Wechseln der Krankenpflege
115
Wechseln der Krankenpflege

Gehen Sie wie folgt vor, um Ihre standardmäßigen Aktivitätsentitäten bei Verwendung des Quell-Connectors Marketo zu filtern.

Erstellen eines Entwurfsdatenflusses

Erstellen Sie zunächst einen Marketo Datenfluss und speichern Sie ihn als Entwurf. Eine detaillierte Anleitung zum Erstellen eines Entwurfs für einen Datenfluss finden Sie in der folgenden Dokumentation:

Datenfluss-ID abrufen

Sobald Sie über einen entworfenen Datenfluss verfügen, müssen Sie dessen entsprechende ID abrufen.

Navigieren Sie in der Benutzeroberfläche zum Quellkatalog und wählen Sie dann Datenflüsse aus der oberen Kopfzeile aus. Verwenden Sie die Statusspalte, um alle im Entwurfsmodus gespeicherten Datenflüsse zu identifizieren, und wählen Sie dann den Namen Ihres Datenflusses aus. Suchen Sie dann im Bereich Eigenschaften rechts nach Ihrer Datenfluss-ID.

Abrufen Ihrer Datenflussdetails

Als Nächstes müssen Sie Ihre Datenflug-Details abrufen, insbesondere die mit Ihrem Datenfluss verknüpfte Quell-Verbindungs-ID. Um Ihre Datenflussdetails abzurufen, stellen Sie eine GET-Anfrage an den /flows -Endpunkt und geben Sie Ihre Datenfluss-ID als Pfadparameter an.

API-Format

GET /flows/{FLOW_ID}
Parameter
Beschreibung
{FLOW_ID}
Die ID des Datenflusses, den Sie abrufen möchten.
Anfrage

Mit der folgenden Anfrage werden Informationen zur Datenfluss-ID abgerufen: a7e88a01-40f9-4ebf-80b2-0fc838ff82ef.

code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/flows/a7e88a01-40f9-4ebf-80b2-0fc838ff82ef' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
Antwort

Bei einer erfolgreichen Antwort werden Ihre Datenfluss-Details zurückgegeben, einschließlich Informationen zu den entsprechenden Quell- und Zielverbindungen. Sie müssen Ihre Quell- und Zielverbindungs-IDs zur Kenntnis nehmen, da diese Werte später erforderlich sind, um Ihren Datenfluss zu veröffentlichen.

code language-json line-numbers data-start-1 data-line-offset-4 h-23 h-26
{
    "items": [
        {
            "id": "a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
            "createdAt": 1728592929650,
            "updatedAt": 1728597187444,
            "createdBy": "acme@AdobeID",
            "updatedBy": "acme@AdobeID",
            "createdClient": "exc_app",
            "updatedClient": "acme",
            "sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
            "sandboxName": "prod",
            "imsOrgId": "acme@AdobeOrg",
            "name": "Marketo Engage Standard Activities ACME",
            "description": "",
            "flowSpec": {
                "id": "15f8402c-ba66-4626-b54c-9f8e54244d61",
                "version": "1.0"
            },
            "state": "enabled",
            "version": "\"600290fc-0000-0200-0000-67084cc30000\"",
            "etag": "\"600290fc-0000-0200-0000-67084cc30000\"",
            "sourceConnectionIds": [
                "56f7eb3a-b544-4eaa-b167-ef1711044c7a"
            ],
            "targetConnectionIds": [
                "7e53e6e8-b432-4134-bb29-21fc6e8532e5"
            ],
            "inheritedAttributes": {
                "properties": {
                    "isSourceFlow": true
                },
                "sourceConnections": [
                    {
                        "id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
                        "connectionSpec": {
                            "id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
                            "version": "1.0"
                        },
                        "baseConnection": {
                            "id": "0137118b-373a-4c4e-847c-13a0abf73b33",
                            "connectionSpec": {
                                "id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
                                "version": "1.0"
                            }
                        }
                    }
                ],
                "targetConnections": [
                    {
                        "id": "7e53e6e8-b432-4134-bb29-21fc6e8532e5",
                        "connectionSpec": {
                            "id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
                            "version": "1.0"
                        }
                    }
                ]
            },
            "options": {
                "isSampleDataflow": false,
                "errorDiagnosticsEnabled": true
            },
            "transformations": [
                {
                    "name": "Mapping",
                    "params": {
                        "mappingVersion": 0,
                        "mappingId": "f6447514ef95482889fac1818972e285"
                    }
                }
            ],
            "runs": "/runs?property=flowId==a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
            "lastOperation": {
                "started": 1728592929650,
                "updated": 0,
                "operation": "create"
            },
            "lastRunDetails": {
                "id": "2d7863d5-ca4d-4313-ac52-2603eaf2cdbe",
                "state": "success",
                "startedAtUTC": 1728594713537,
                "completedAtUTC": 1728597183080
            },
            "labels": [],
            "recordTypes": [
                {
                    "type": "experienceevent",
                    "extensions": {}
                }
            ]
        }
    ]
}

Abrufen der Details zur Quellverbindung

Verwenden Sie als Nächstes Ihre Quell-Verbindungs-ID und stellen Sie eine GET-Anfrage an den /sourceConnections -Endpunkt, um Ihre Details zur Quellverbindung abzurufen.

API-Format

GET /sourceConnections/{SOURCE_CONNECTION_ID}
Parameter
Beschreibung
{SOURCE_CONNECTION_ID}
Die ID der Quellverbindung, die Sie abrufen möchten.
Anfrage
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
Antwort

Eine erfolgreiche Antwort gibt die Details Ihrer Quellverbindung zurück. Notieren Sie sich die Version, da Sie diesen Wert im nächsten Schritt benötigen werden, um Ihre Quellverbindung zu aktualisieren.

code language-json line-numbers data-start-1 data-line-offset-4 h-30
{
    "items": [
        {
            "id": "b85b895f-a289-42e9-8fe1-ae448ccc7e53",
            "createdAt": 1729634331185,
            "updatedAt": 1729634331185,
            "createdBy": "acme@AdobeID",
            "updatedBy": "acme@AdobeID",
            "createdClient": "exc_app",
            "updatedClient": "acme",
            "sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
            "sandboxName": "prod",
            "imsOrgId": "acme@AdobeOrg",
            "name": "New Source Connection - 2024-10-23T03:28:50+05:30",
            "description": "Source connection created from the workflow",
            "baseConnectionId": "fd9f7455-1e23-4831-9283-7717e20bee40",
            "state": "draft",
            "data": {
                "format": "tabular",
                "schema": null,
                "properties": null
            },
            "connectionSpec": {
                "id": "2d31dfd1-df1a-456b-948f-226e040ba102",
                "version": "1.0"
            },
            "params": {
                "columns": [],
                "tableName": "Activity"
            },
            "version": "\"210068a6-0000-0200-0000-6718201b0000\"",
            "etag": "\"210068a6-0000-0200-0000-6718201b0000\"",
            "inheritedAttributes": {
                "baseConnection": {
                    "id": "fd9f7455-1e23-4831-9283-7717e20bee40",
                    "connectionSpec": {
                        "id": "2d31dfd1-df1a-456b-948f-226e040ba102",
                        "version": "1.0"
                    }
                }
            },
            "lastOperation": {
                "started": 1729634331185,
                "updated": 0,
                "operation": "draft_create"
            }
        }
    ]
}

Quellverbindung mit Filterbedingungen aktualisieren

Nachdem Sie nun über Ihre Quell-Verbindungs-ID und die zugehörige Version verfügen, können Sie jetzt eine PATCH-Anfrage mit den Filterbedingungen stellen, die Ihre standardmäßigen Aktivitätstypen angeben.

Um Ihre Quellverbindung zu aktualisieren, stellen Sie eine PATCH-Anfrage an den /sourceConnections -Endpunkt und geben Sie Ihre Quellverbindungs-ID als Abfrageparameter an. Darüber hinaus müssen Sie einen If-Match -Header-Parameter mit der entsprechenden Version Ihrer Quellverbindung angeben.

TIP
Die Kopfzeile If-Match ist bei einer PATCH-Anfrage erforderlich. Der Wert für diese Kopfzeile ist die eindeutige Version/das Tag des Datenflusses, den Sie aktualisieren möchten. Der Versions-/Tag-Wert wird bei jeder erfolgreichen Aktualisierung eines Datenflusses aktualisiert.

API-Format

PATCH /sourceConnections/{SOURCE_CONNECTION_ID}
Parameter
Beschreibung
{SOURCE_CONNECTION_ID}
Die ID der Quellverbindung, die Sie aktualisieren möchten
Anfrage
code language-shell
curl -X PATCH \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'If-Match: {VERSION_HERE}'
  -d '
      {
        "op": "add",
        "path": "/params/filters",
        "value": {
            "type": "PQL",
            "format": "pql/json",
            "value": {
                "nodeType": "fnApply",
                "fnName": "in",
                "params": [
                    {
                        "nodeType": "fieldLookup",
                        "fieldName": "activityType"
                    },
                    {
                        "nodeType": "literal",
                        "value": [
                            "Change Status in Progression",
                            "Fill Out Form"
                        ]
                    }
                ]
            }
        }
    }'
Antwort

Bei einer erfolgreichen Antwort werden Ihre Quell-Verbindungs-ID und das eTag (Version) zurückgegeben.

code language-json
{
    "id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
    "etag": "\"210068a6-0000-0200-0000-6718201b0000\""
}

Publish der Quellverbindung

Nachdem Ihre Quellverbindung mit Ihren Filterbedingungen aktualisiert wurde, können Sie jetzt vom Entwurfsstatus abwechseln und Ihre Quellverbindung veröffentlichen. Senden Sie dazu eine POST-Anfrage an den /sourceConnections -Endpunkt und geben Sie die ID Ihrer Quellverbindung als Entwurf sowie einen Aktionsvorgang für die Veröffentlichung an.

API-Format

POST /sourceConnections/{SOURCE_CONNECTION_ID}/action?op=publish
Parameter
Beschreibung
{SOURCE_CONNECTION_ID}
Die ID der Quellverbindung, die Sie veröffentlichen möchten.
op
Ein Aktionsvorgang, mit dem der Status der abgefragten Quellverbindung aktualisiert wird. Um eine Entwurfsquellverbindung zu veröffentlichen, legen Sie für op den Wert publish fest.
Anfrage

Die folgende Anfrage veröffentlicht eine entworfene Quellverbindung.

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a/action?op=publish' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
Antwort

Bei einer erfolgreichen Antwort werden Ihre Quell-Verbindungs-ID und das eTag (Version) zurückgegeben.

code language-json
{
    "id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
    "etag": "\"9f007f7b-0000-0200-0000-670ef1150000\""
}

Publish Ihre Zielverbindung

Ähnlich wie im vorherigen Schritt müssen Sie auch Ihre Zielverbindung veröffentlichen, um mit dem Entwurf des Datenflusses fortzufahren und ihn zu veröffentlichen. Stellen Sie eine POST-Anfrage an den /targetConnections -Endpunkt und geben Sie die ID der Entwurfs-Zielverbindung an, die Sie veröffentlichen möchten, sowie einen Aktionsvorgang für die Veröffentlichung.

API-Format

POST /targetConnections/{TARGET_CONNECTION_ID}/action?op=publish
Parameter
Beschreibung
{TARGET_CONNECTION_ID}
Die ID der Zielverbindung, die Sie veröffentlichen möchten.
op
Ein Aktionsvorgang, mit dem der Status der abgefragten Zielverbindung aktualisiert wird. Um eine Entwurfszielverbindung zu veröffentlichen, legen Sie für op den Wert publish fest.
Anfrage

Die folgende Anfrage veröffentlicht die Zielverbindung mit der ID: 7e53e6e8-b432-4134-bb29-21fc6e8532e5.

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections/7e53e6e8-b432-4134-bb29-21fc6e8532e5/action?op=publish' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
Antwort

Bei einer erfolgreichen Antwort werden die ID und das entsprechende eTag für Ihre veröffentlichte Zielverbindung zurückgegeben.

code language-json
{
    "id": "7e53e6e8-b432-4134-bb29-21fc6e8532e5",
    "etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}

Publish Ihres Datenflusses

Nachdem Ihre Quell- und Zielverbindungen veröffentlicht wurden, können Sie jetzt mit dem letzten Schritt fortfahren und Ihren Datenfluss veröffentlichen. Um Ihren Datenfluss zu veröffentlichen, stellen Sie eine POST-Anfrage an den /flows -Endpunkt und geben Sie Ihre Datenfluss-ID sowie einen Aktionsvorgang zur Veröffentlichung an.

API-Format

POST /flows/{FLOW_ID}/action?op=publish
Parameter
Beschreibung
{FLOW_ID}
Die ID des Datenflusses, den Sie veröffentlichen möchten.
op
Ein Aktionsvorgang, der den Status des abgefragten Datenflusses aktualisiert. Um einen Datenfluss-Entwurf zu veröffentlichen, legen Sie op auf publish fest.
Anfrage

Mit der folgenden Anfrage wird Ihr Datenfluss-Entwurf veröffentlicht.

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/flows/a7e88a01-40f9-4ebf-80b2-0fc838ff82ef/action?op=publish' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
Antwort

Bei einer erfolgreichen Antwort werden die ID und das entsprechende etag Ihres Datenflusses zurückgegeben.

code language-json
{
  "id": "a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
  "etag": "\"4b0354b7-0000-0200-0000-6716ce1f0000\""
}

Sie können die Experience Platform-Benutzeroberfläche verwenden, um zu überprüfen, ob Ihr Entwurf-Datenfluss veröffentlicht wurde. Navigieren Sie zur Seite "Datenflüsse"im Quellkatalog und referenzieren Sie den Status Ihres Datenflusses. Bei erfolgreicher Ausführung sollte der Status jetzt auf Aktiviert gesetzt werden.

TIP
  • Ein Datenfluss mit aktivierter Filterung wird nur einmal aufgestockt. Alle Änderungen in der , die Sie an den Filterkriterien vornehmen (sei es ein Zusatz oder eine Entfernung), können nur für inkrementelle Daten wirksam werden.
  • Wenn Sie historische Daten für neue Aktivitätstypen erfassen müssen, wird empfohlen, einen neuen Datenfluss zu erstellen und die Filterkriterien mit den entsprechenden Aktivitätstypen in der Filterbedingung zu definieren.
  • Sie können keine benutzerdefinierten Aktivitätstypen filtern.
  • Sie können keine Vorschau gefilterter Daten anzeigen.

Anhang

Dieser Abschnitt enthält weitere Beispiele für verschiedene Payloads zum Filtern.

Besondere Bedingungen

Sie können die anfängliche fnApply für Szenarien auslassen, für die nur eine Bedingung erforderlich ist.

Auswählen zum Anzeigen des Beispiels
code language-json
{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "like",
    "params": [
      {
        "nodeType": "fieldLookup",
        "fieldName": "firstname"
      },
      {
        "nodeType": "literal",
        "value": "%s"
      }
    ]
  }
}

Verwenden des in -Operators

In der folgenden Beispiel-Payload finden Sie ein Beispiel für den Operator in.

Auswählen zum Anzeigen des Beispiels
code language-json
{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "and",
    "params": [
      {
        "nodeType": "fnApply",
        "fnName": "in",
        "params": [
          {
            "nodeType": "fieldLookup",
            "fieldName": "firstname"
          },
          {
            "nodeType": "literal",
            "value": [
              "Ramen",
              "John"
            ]
          }
        ]
      }
    ]
  }
}

Verwenden des isNull -Operators

Auswählen zum Anzeigen des Beispiels

In der folgenden Beispiel-Payload finden Sie ein Beispiel für den Operator isNull.

code language-json
{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "isNull",
    "params": [
      {
        "nodeType": "fieldLookup",
        "fieldName": "complaint_type"
      }
    ]
  }
}

Verwenden des NOT -Operators

In der folgenden Beispiel-Payload finden Sie ein Beispiel für den Operator NOT.

Auswählen zum Anzeigen des Beispiels
code language-json
{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "NOT",
    "params": [
      {
        "nodeType": "fnApply",
        "fnName": "isNull",
        "params": [
          {
            "nodeType": "fieldLookup",
            "fieldName": "complaint_type"
          }
        ]
      }
    ]
  }
}

Beispiel mit verschachtelten Bedingungen

Ein Beispiel für komplexe verschachtelte Bedingungen finden Sie unten in der Beispiel-Payload .

Auswählen zum Anzeigen des Beispiels
code language-json
{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "and",
    "params": [
      {
        "nodeType": "fnApply",
        "fnName": ">=",
        "params": [
          {
            "nodeType": "fieldLookup",
            "fieldName": "age"
          },
          {
            "nodeType": "literal",
            "value": 20
          }
        ]
      },
      {
        "nodeType": "fnApply",
        "fnName": "<=",
        "params": [
          {
            "nodeType": "fieldLookup",
            "fieldName": "age"
          },
          {
            "nodeType": "literal",
            "value": 30
          }
        ]
      },
      {
        "nodeType": "fnApply",
        "fnName": "or",
        "params": [
          {
            "nodeType": "fnApply",
            "fnName": "!=",
            "params": [
              {
                "nodeType": "fieldLookup",
                "fieldName": "city"
              },
              {
                "nodeType": "literal",
                "value": "PUD"
              }
            ]
          },
          {
            "nodeType": "fnApply",
            "fnName": "=",
            "params": [
              {
                "nodeType": "fieldLookup",
                "fieldName": "joinedDate"
              },
              {
                "nodeType": "literal",
                "value": "2020-04-22"
              }
            ]
          }
        ]
      }
    ]
  }
}
recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089