Skip to main content
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
brekrut
brekrutAccepted solution
Adobe Employee
June 6, 2024

Hi @brekrut 

Still facing the same issue 

Steps i followed

Created Two dataset

  • Profile dataset In this dataset i have enable this for profile and upsert
  • Identity dataset In this i have disable the profile and enable the identity service as per doc 
  • I have ingested one record through streaming in profile dataset i can see  profile is created 
  • when again i have ingested same record with same individual id just to update specific attribute that attribute got updated but rest got deleted 
  • i have follow this payload to send the incremental record 
  • 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": {
           
            "xdmEntity": {
                "tenantID": {
                    "individualId": "678996061",
                    "patchTestObject": {
                        "country": "singapore"
                       
                    }
                },
                "_id": "/uri-reference",
               
                "createdByBatchID": "/uri-reference",
                "extSourceSystemAudit": {
                    "createdBy": "Sample value",
                    "createdDate": "2018-11-12T20:20:39+00:00",
                    "externalID": "Sample value",
                    "externalKey": {
                        "sourceID": "Sample value",
                        "sourceInstanceID": "Sample value",
                        "sourceKey": "Sample value",
                        "sourceType": "Sample value"
                    },
                   
                    "lastUpdatedDate": "2024-06-05T05:19:15+00:00"
                   
                }
             
            }
        }

    }

Hello @bellasnow5378 

 

Can you please try this payload for upsert againt the data collection.  Notice the xdmEntity is changed to xdmUpdate

{ "header": { "msgType": "xdmEntityUpdate", "msgId": "{{guid}}", "xactionId": "{{current_timestamp}}{{guid}}", "createdAt": "{{epoch_time}}", "originalTimestamp": "{{epoch_time}}", "datasetId": "<dataSetID>", "dataStreamId": "", "imsOrgId": "<IMSORG>", "xdmSchema": { "name": "_xdm.context.profile", "version": "1.0" }, "source": { "name": "<sourceName>" } }, "body": { "xdmEntityUpdates": { "_<tenant>": { <Attributes are here> } } } }

 

7 replies

brekrut
Adobe Employee
Adobe Employee
May 30, 2024

Hello @bellasnow5378 

 

Yes you can use streaming ingesting after a dataSet has been enabled for upsert, but please be aware there are some limitations and inbound payload changes.

 

Please refer to this article.

 

https://experienceleague.adobe.com/en/docs/experience-platform/data-prep/upserts

Translate
Level 2
June 4, 2024

Hi @brekrut 

 

Problem Statement  :

Once data is ingested through streaming for a particular profile. Ex. (name :xyz , country :spain )in this we need to update the name of an attribute value . For that profile without getting the data override /deleted of other attributes .Is there any way to update one field and retain all the data for that profile  .

Is there any way to do this and if yes can you please let me know the steps .

 

Translate
Level 2
June 4, 2024

@arpan-garg 

Translate