Utvecklarhandbok för batchintag
Det här dokumentet innehåller en omfattande guide till hur du använder API-slutpunkter för gruppinmatning i Adobe Experience Platform. En översikt över API:er för gruppinmatning, inklusive förutsättningar och bästa praxis, får du genom att läsa API-översikt över batchimport.
I bilagan till det här dokumentet finns information om formatera data som ska användas för förtäring, inklusive exempel på CSV- och JSON-datafiler.
Komma igång
API-slutpunkterna som används i den här handboken är en del av API för gruppinmatning. Gruppinmatning tillhandahålls via en RESTful API där du kan utföra grundläggande CRUD-åtgärder mot de objekttyper som stöds.
Innan du fortsätter bör du granska API-översikt över batchimport och komma igång-guide.
Importera JSON-filer
Skapa batch
För det första måste du skapa en batch med JSON som indataformat. När du skapar gruppen måste du ange ett datauppsättnings-ID. Du måste också se till att alla filer som överförs som en del av gruppen följer XDM-schemat som är länkat till den angivna datauppsättningen.
isMultiLineJson
flagga måste anges. Mer information finns i felsökningsguide för batchmatning.API-format
POST /batches
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "json"
}
}'
{DATASET_ID}
Svar
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
Överför filer
Nu när du har skapat en batch kan du använda batch-ID:t från svaret när gruppen skapades för att överföra filer till gruppen. Du kan överföra flera filer till gruppen.
API-format
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.json \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'content-type: application/octet-stream' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.json"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.json
.Svar
200 OK
Slutför batch
När du har överfört alla olika delar av filen måste du signalera att alla data har överförts och att gruppen är klar för befordran.
API-format
POST /batches/{BATCH_ID}?action=COMPLETE
{BATCH_ID}
Begäran
curl -X POST "https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE" \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Ingest Parquet-filer ingest-parquet-files
Skapa batch
Först måste du skapa en batch med Parquet som indataformat. När du skapar gruppen måste du ange ett datauppsättnings-ID. Du måste också se till att alla filer som överförs som en del av gruppen följer XDM-schemat som är länkat till den angivna datauppsättningen.
Begäran
curl -X POST "https://platform.adobe.io/data/foundation/import/batches" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-H "x-gw-ims-org-id: {ORG_ID}" \
-H "x-api-key: {API_KEY}" \
-H "x-sandbox-name: {SANDBOX_NAME}"
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "parquet"
}
}'
{DATASET_ID}
Svar
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
Överför filer
Nu när du har skapat en grupp kan du använda batchId
från innan för att överföra filer till gruppen. Du kan överföra flera filer till gruppen.
API-format
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/octet-stream' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.parquet"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.parquet
.Svar
200 OK
Slutför batch
När du har överfört alla olika delar av filen måste du signalera att alla data har överförts och att gruppen är klar för befordran.
API-format
POST /batches/{BATCH_ID}?action=complete
{BATCH_ID}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Infoga stora Parquet-filer
Skapa batch
Först måste du skapa en batch med Parquet som indataformat. När du skapar gruppen måste du ange ett datauppsättnings-ID. Du måste också se till att alla filer som överförs som en del av gruppen följer XDM-schemat som är länkat till den angivna datauppsättningen.
API-format
POST /batches
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "parquet"
}
}'
{DATASET_ID}
Svar
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
Initiera stor fil
När du har skapat gruppen måste du initiera den stora filen innan du överför segment till gruppen.
API-format
POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet?action=INITIALIZE \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
201 Created
Överför stora filsegment
Nu när filen har skapats kan alla efterföljande segment överföras genom upprepade förfrågningar från PATCH, en för varje del av filen.
API-format
PATCH /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X PATCH https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/octet-stream' \
-H 'Content-Range: bytes {CONTENT_RANGE}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.parquet"
{CONTENT_RANGE}
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.json
.Svar
200 OK
Fullständig stor fil
Nu när du har skapat en grupp kan du använda batchId
från innan för att överföra filer till gruppen. Du kan överföra flera filer till gruppen.
API-format
POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet?action=COMPLETE \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
201 Created
Slutför batch
När du har överfört alla olika delar av filen måste du signalera att alla data har överförts och att gruppen är klar för befordran.
API-format
POST /batches/{BATCH_ID}?action=COMPLETE
{BATCH_ID}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Importera CSV-filer
För att kunna importera CSV-filer måste du skapa en klass, ett schema och en datauppsättning som stöder CSV. Detaljerad information om hur du skapar den klass och det schema som krävs finns i självstudiekurs om att skapa ad hoc-schema.
Skapa datauppsättning
När du har följt instruktionerna ovan för att skapa den klass och det schema som behövs måste du skapa en datauppsättning som kan hantera CSV.
API-format
POST /catalog/dataSets
Begäran
curl -X POST https://platform.adobe.io/data/foundation/catalog/dataSets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"name": "{DATASET_NAME}",
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed+json;version=1"
}
}'
{TENANT_ID}
{SCHEMA_ID}
Skapa batch
Därefter måste du skapa en grupp med CSV som indataformat. När du skapar gruppen måste du ange ett datauppsättnings-ID. Du måste också se till att alla filer som överförs som en del av gruppen följer det schema som är länkat till den angivna datauppsättningen.
API-format
POST /batches
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "csv"
}
}'
{DATASET_ID}
Svar
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
Överför filer
Nu när du har skapat en grupp kan du använda batchId
från innan för att överföra filer till gruppen. Du kan överföra flera filer till gruppen.
API-format
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.csv \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/octet-stream' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.csv"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.csv
.Svar
200 OK
Slutför batch
När du har överfört alla olika delar av filen måste du signalera att alla data har överförts och att gruppen är klar för befordran.
API-format
POST /batches/{BATCH_ID}?action=COMPLETE
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Avbryt en batch
Batchen bearbetas, men den kan fortfarande avbrytas. Men när en batch har slutförts (till exempel om den har slutförts eller misslyckats) kan den inte avbrytas.
API-format
POST /batches/{BATCH_ID}?action=ABORT
{BATCH_ID}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=ABORT \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Ta bort en grupp delete-a-batch
En batch kan tas bort genom att utföra följande POST-begäran med action=REVERT
frågeparameter till ID:t för den batch som du vill ta bort. Satsen är markerad som"inaktiv", vilket gör att den kan användas för skräpinsamling. Batchen samlas in asynkront, och då markeras den som"borttagen".
API-format
POST /batches/{BATCH_ID}?action=REVERT
{BATCH_ID}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=REVERT \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Laga en batch
Ibland kan det vara nödvändigt att uppdatera data i din organisations profilarkiv. Du kan till exempel behöva korrigera poster eller ändra ett attributvärde. Adobe Experience Platform har stöd för uppdatering eller korrigering av data i Profile Store genom en upsert-åtgärd eller"patching a batch".
Följande krävs för att korrigera en sats:
- En datauppsättning aktiverad för profiluppdateringar och attributuppdateringar. Detta görs via datauppsättningstaggar och kräver en specifik
isUpsert:true
-taggen läggs till iunifiedProfile
array. Följ självstudiekursen för mer information om hur du skapar en datauppsättning eller konfigurerar en befintlig datauppsättning för upsert aktivera en datauppsättning för profiluppdateringar. - En Parquet-fil som innehåller de fält som ska korrigeras och identitetsfält för profilen. Dataformatet för att patchera en batch liknar den vanliga batchöverföringsprocessen. De indata som krävs är en Parquet-fil, och utöver de fält som ska uppdateras måste de överförda data innehålla identitetsfälten för att matcha data i profilarkivet.
När du har en datauppsättning aktiverad för Profil och upsert, och en Parquet-fil som innehåller de fält du vill korrigera samt de nödvändiga identitetsfälten, kan du följa stegen för inhämtning av Parquet-filer för att färdigställa plåstret via batchintag.
Spela upp en batch
Om du vill ersätta en redan skickad batch kan du göra det med"batchrepriser" - den här åtgärden motsvarar att ta bort den gamla gruppen och i stället hämta en ny.
Skapa batch
För det första måste du skapa en batch med JSON som indataformat. När du skapar gruppen måste du ange ett datauppsättnings-ID. Du måste också se till att alla filer som överförs som en del av gruppen följer XDM-schemat som är länkat till den angivna datauppsättningen. Dessutom måste du ange de gamla batcherna som referens i avsnittet Spela upp. I exemplet nedan spelar du upp grupper med ID:n batchIdA
och batchIdB
.
API-format
POST /batches
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "json"
},
"replay": {
"predecessors": ["${batchIdA}","${batchIdB}"],
"reason": "replace"
}
}'
{DATASET_ID}
Svar
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"replay": {
"predecessors": [
"batchIdA", "batchIdB"
],
"reason": "replace"
},
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
Överför filer
Nu när du har skapat en grupp kan du använda batchId
från innan för att överföra filer till gruppen. Du kan överföra flera filer till gruppen.
API-format
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
Begäran
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.json \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/octet-stream' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.json"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.json
.Svar
200 OK
Slutför batch
När du har överfört alla olika delar av filen måste du signalera att alla data har överförts och att gruppen är klar för befordran.
API-format
POST /batches/{BATCH_ID}?action=COMPLETE
{BATCH_ID}
Begäran
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
200 OK
Bilaga
Följande avsnitt innehåller ytterligare information om hur man får in data i Experience Platform med hjälp av batchintag.
Datatransformering för batchinmatning
För att kunna importera en datafil till Experience Platformmåste filens hierarkiska struktur överensstämma med Experience Data Model (XDM) schema som är associerat med den datauppsättning som överförs till.
Information om hur du mappar en CSV-fil så att den överensstämmer med ett XDM-schema finns i exempelomformningar -dokument tillsammans med ett exempel på en korrekt formaterad JSON-datafil. Exempelfiler som finns i dokumentet finns här: