Teilweise Zeilen-Updates mit Data Prep an Real-Time Customer Profile senden
-
Die Erfassung von Experience-Datenmodell (XDM)-Entitäts-Update-Meldungen (mit JSON-PATCH-Vorgängen) für Profilaktualisierungen über den DCS-Inlet wurde eingestellt. Führen Sie als Alternative die in diesem Handbuch beschriebenen Schritte aus.
-
Sie können auch die HTTP-API-Quelle verwenden, um rohe Daten in den DCS-Inlet zu 🔗 aufzunehmen und die erforderlichen Datenzuordnungen anzugeben, um Ihre Daten in XDM-kompatible Nachrichten für Profilaktualisierungen umzuwandeln.
-
Bei der Verwendung von Arrays in Streaming-Aufnahmen müssen Sie explizit
upsert_array_append
oderupsert_array_replace
verwenden, um den klaren Zweck des Vorgangs zu definieren. Wenn diese Funktionen fehlen, kann es zu Fehlern kommen.
Verwenden Sie Streaming-Aufrufe in Data Prep , um partielle Zeilenaktualisierungen an Real-Time Customer Profile -Daten zu senden, während Sie gleichzeitig neue Identitäts-Links mit einer einzelnen API-Anfrage erstellen und einrichten.
Durch Streaming-Uploads können Sie das Format Ihrer Daten beibehalten und diese Daten während der Aufnahme in Real-Time Customer Profile PATCH-Anfragen übersetzen. Basierend auf den von Ihnen bereitgestellten Eingaben ermöglicht Ihnen Data Prep das Senden einer einzelnen API-Payload und die Übersetzung der Daten in sowohl Real-Time Customer Profile PATCH- als auch Identity Service CREATE-Anfragen.
Data Prep verwendet Kopfzeilenparameter, um zwischen Einfügungen und Auffüllungen zu unterscheiden. Alle Zeilen, die Upserts verwenden, müssen über eine Kopfzeile verfügen. Sie können mit oder ohne Identitätsdeskriptoren Aktualisierungen verwenden. Wenn Sie Upserts mit Identitäten verwenden, müssen Sie die Konfigurationsschritte ausführen, die im Abschnitt Konfigurieren des Identitätsdatensatzes beschrieben sind. Wenn Sie untergeordnete Elemente ohne Identitäten verwenden, müssen Sie in Ihrer Anfrage keine Identitätskonfigurationen angeben. Weitere Informationen finden Sie im Abschnitt über Streaming-Uploads ohne Identitäten .
Dieses Dokument enthält Informationen zum Streamen von Uploads in Data Prep.
Erste Schritte
Diese Übersicht setzt ein Verständnis der folgenden Komponenten von Adobe Experience Platform voraus:
- Data Prep: Data Prep ermöglicht es Dateningenieuren, Daten dem Experience-Datenmodell (XDM) zuzuordnen, umzuwandeln und zu validieren.
- Identity Service: Verschaffen Sie sich einen besseren Überblick über einzelne Kunden und ihr Verhalten, indem Sie Identitäten zwischen Geräten und Systemen überbrücken.
- Echtzeit-Kundenprofil: Das Echtzeit-Kundenprofli bietet ein einheitliches, kundenspezifisches Profil in Echtzeit, das auf aggregierten Daten aus mehreren Quellen basiert.
- 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.
Verwenden von Streaming-Aufnahmen in Data Prep streaming-upserts-in-data-prep
Streaming aktiviert einen allgemeinen Workflow
Streaming-Aufrufe in Data Prep funktionieren wie folgt:
-
Sie müssen zunächst einen Datensatz für den Profile-Verbrauch erstellen und aktivieren. Weitere Informationen finden Sie im Handbuch zum Aktivieren eines Datensatzes für Profile🔗.
-
Wenn neue Identitäten verknüpft werden müssen, müssen Sie auch einen zusätzlichen Datensatz mit demselben Schema wie Ihren Profile-Datensatz erstellen.
-
Nachdem Ihre Datensätze vorbereitet wurden, müssen Sie einen Datenfluss erstellen, um Ihre eingehende Anfrage dem Profile -Datensatz zuzuordnen.
-
Als Nächstes müssen Sie die eingehende Anfrage aktualisieren, um die erforderlichen Kopfzeilen einzuschließen. Diese Header definieren:
- Der Datenvorgang, der mit Profile:
create
,merge
unddelete
ausgeführt werden muss. - Der optionale Identitätsvorgang, der mit Identity Service:
create
ausgeführt werden soll.
- Der Datenvorgang, der mit Profile:
Identitätsdatensatz konfigurieren configure-the-identity-dataset
Wenn neue Identitäten verknüpft werden müssen, müssen Sie einen zusätzlichen Datensatz in der eingehenden Payload erstellen und weitergeben. Beim Erstellen eines Identitätsdatensatzes müssen Sie sicherstellen, dass die folgenden Anforderungen erfüllt sind:
- Der Identitätsdatensatz muss über sein zugewiesenes Schema als Profile -Datensatz verfügen. Eine Inkongruenz von Schemas kann zu inkonsistentem Systemverhalten führen.
- Sie müssen jedoch sicherstellen, dass sich der Identitätsdatensatz vom Profile -Datensatz unterscheidet. Wenn die Datensätze identisch sind, werden die Daten überschrieben und nicht aktualisiert.
- Während der ursprüngliche Datensatz für Profile aktiviert werden muss, sollte der Identitätsdatensatz nicht aktiviert sein für Profile. Andernfalls werden auch Daten überschrieben und nicht aktualisiert. Der Identitätsdatensatz sollte jedoch für Identity Service aktiviert sein.
Erforderliche Felder in den Schemas, die mit dem Identitätsdatensatz verknüpft sind identity-dataset-required-fileds
Wenn Ihr Schema erforderliche Felder enthält, muss die Validierung des Datensatzes unterdrückt werden, damit Identity Service nur die Identitäten empfangen kann. Sie können die Validierung unterdrücken, indem Sie den Wert disabled
auf den Parameter acp_validationContext
anwenden. Siehe folgendes Beispiel:
curl -X POST 'https://platform.adobe.io/data/foundation/catalog/dataSets/62257bef7a75461948ebcaaa' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"tags": {
"acp_validationContext": [
"disabled"
],
"unifiedProfile": [
"enabled:false"
],
"unifiedIdentity": [
"enabled:true"
]
}
}'
Eingehende Payload-Struktur
Im Folgenden finden Sie ein Beispiel einer eingehenden Payload-Struktur, die neue Identitätslinks erstellt.
Nutzdaten mit Identitätskonfiguration
{
"header": {
"flowId": "923e2ac3-3869-46ec-9e6f-7012c4e23f69",
"imsOrgId": "{ORG_ID}",
"datasetId": "621fc19ab33d941949af16c8",
"operations": {
"data": "create" (default)/"merge"/"delete",
"identity": "create",
"identityDatasetId": "621fc19ab33d941949af16d9"
}
}
... //The raw data attributes are included here as the key/value pairs of the "body" property.
}
flowId
datasetId
-Parameter verwendet.imsOrgId
datasetId
operations
operations.data
operations.identity
operations.identityDatasetId
Unterstützte Vorgänge
Die folgenden Vorgänge werden von Real-Time Customer Profile unterstützt:
create
merge
delete
Die folgenden Vorgänge werden von Identity Service unterstützt:
create
create
als Wert für operations.identity
übergeben wird, generiert Data Prep eine Anforderung zum Erstellen einer XDM-Entität für Identity Service. Wenn die Identität bereits vorhanden ist, wird die Identität ignoriert. Hinweis: Wenn operations.identity
auf create
gesetzt ist, muss auch der identityDatasetId
angegeben werden. Die von der Komponente Data Prep intern generierte XDM-Entität wird für diese Datensatz-ID generiert.Nutzlast ohne Identitätskonfiguration payload-without-identity-configuration
Wenn keine neuen Identitäten verknüpft werden müssen, können Sie die Parameter identity
und identityDatasetId
in den Vorgängen auslassen. Dadurch werden nur Daten an Real-Time Customer Profile gesendet und die Identity Service übersprungen. Ein Beispiel finden Sie in der folgenden Payload:
{
"header": {
"flowId": "923e2ac3-3869-46ec-9e6f-7012c4e23f69",
"imsOrgId": "{ORG_ID}",
"datasetId": "621fc19ab33d941949af16c8",
"operations": {
"data": "create"/"merge"/"delete",
}
}
... //The raw data attributes are included here as the key/value pairs of the "body" property.
}
Primäre Identitäten dynamisch übergeben
Bei XDM-Aktualisierungen muss das Schema für Profile aktiviert sein und eine primäre Identität enthalten. Sie können die primäre Identität eines XDM-Schemas auf zwei Arten angeben:
- Legen Sie ein statisches Feld als primäre Identität im XDM-Schema fest.
- Weisen Sie über die Feldergruppe "Identitätszuordnung"im XDM-Schema eines der Identitätsfelder als primäre Identität zu.
Festlegen eines statischen Felds als primäres Identitätsfeld im XDM-Schema
Im folgenden Beispiel werden state
, homePhone.number
und andere Attribute mit ihren jeweiligen angegebenen Werten in die Profile mit der primären Identität von sampleEmail@gmail.com
eingefügt. Eine Aktualisierungsmeldung zur XDM-Entität wird dann von der Streaming-Komponente Data Prep generiert. Real-Time Customer Profile bestätigt dann, dass die XDM-Aktualisierungsmeldung den Profildatensatz aktualisiert.
curl -X POST 'https://dcs.adobedc.net/collection/9aba816d350a69c4abbd283eb5818ec3583275ffce4880ffc482be5a9d810c4b' \
-H 'Content-Type: application/json' \
-H 'x-adobe-flow-id: d5262d48-0f47-4949-be6d-795f06933527' \
-d '{
"header": {
"flowId" : "d5262d48-0f47-4949-be6d-795f06933527",
"imsOrgId": "{ORG_ID}",
"datasetId": "62259f817f62d71947929a7b",
"operations": {
"data": "create"
}
},
{
"body": {
"homeAddress": {
"country": "US",
"state": "GA",
"region": "va7"
},
"homePhone": {
"number": "123.456.799"
},
"identityMap": {
"Email": [{
"id": "sampleEmail@gmail.com",
"primary": true
}]
},
"personalEmail": {
"address": "sampleEmail@gmail.com",
"primary": true
},
"personID": "346576345",
"_id": "346576345",
"timestamp": "2021-05-05T17:51:45.1880+02",
"workEmail": "sampleWorkEmail@gmail.com"
}
}'
Weisen Sie eines der Identitätsfelder als primäre Identität über die Feldergruppe "Identitätszuordnung"im XDM-Schema zu.
In diesem Beispiel enthält die Kopfzeile das Attribut operations
mit den Eigenschaften identity
und identityDatasetId
. Dadurch können Daten mit Real-Time Customer Profile zusammengeführt und Identitäten an Identity Service weitergegeben werden.
curl -X POST 'https://dcs.adobedc.net/collection/9aba816d350a69c4abbd283eb5818ec3583275ffce4880ffc482be5a9d810c4b' \
-H 'Content-Type: application/json' \
-H 'x-adobe-flow-id: d5262d48-0f47-4949-be6d-795f06933527' \
-d '{
"header": {
"flowId" : "d5262d48-0f47-4949-be6d-795f06933527",
"imsOrgId": "{ORG_ID}",
"datasetId": "62259f817f62d71947929a7b",
"operations": {
"data": "merge",
"identity": "create",
"identityDatasetId": "6254a93b851ecd194b64af9e"
}
},
{
"body": {
"homeAddress": {
"country": "US",
"state": "GA",
"region": "va7"
},
"homePhone": {
"number": "123.456.799"
},
"identityMap": {
"Email": [{
"id": "sampleEmail@gmail.com",
"primary": true
}]
},
"personalEmail": {
"address": "sampleEmail@gmail.com",
"primary": true
},
"personID": "346576345",
"_id": "346576345",
"timestamp": "2021-05-05T17:51:45.1880+02",
"workEmail": "sampleWorkEmail@gmail.com"
}
}'
Bekannte Einschränkungen und wichtige Überlegungen
Im Folgenden finden Sie eine Liste bekannter Einschränkungen, die beim Streaming von Uploads mit Data Prep zu beachten sind:
- Die Streaming-Upsert-Methode sollte nur verwendet werden, wenn Teilzeilenaktualisierungen an Real-Time Customer Profile gesendet werden. Teilzeilenaktualisierungen werden vom Data Lake nicht genutzt.
- Die Streaming-Upsert-Methode unterstützt nicht das Aktualisieren, Ersetzen und Entfernen von Identitäten. Neue Identitäten werden erstellt, wenn sie nicht vorhanden sind. Daher muss der Vorgang
identity
immer auf "create"eingestellt sein. Wenn bereits eine Identität vorhanden ist, ist der Vorgang ein no-op-Vorgang. - Die Methode zur Streaming-Aufstockung unterstützt derzeit nicht Adobe Experience Platform Web SDK und Adobe Experience Platform Mobile SDK.
Nächste Schritte
Durch Lesen dieses Dokuments sollten Sie jetzt verstehen, wie Upserts in Data Prep gestreamt werden, um partielle Zeilenaktualisierungen an Ihre Real-Time Customer Profile-Daten zu senden, und gleichzeitig Identitäten erstellen und mit einer einzelnen API-Anfrage verknüpfen. Weitere Informationen zu anderen Data Prep-Funktionen finden Sie in der Data Prep Übersicht . Informationen zur Verwendung von Zuordnungssätzen in der API Data Prep finden Sie im Data Prep Entwicklerhandbuch.