Slutpunkt för segmentexportjobb
Exportjobb är asynkrona processer som används för att behålla målgruppsmedlemmar i datauppsättningar. Du kan använda /export/jobs
-slutpunkten i Adobe Experience Platform Segmentation API, som gör att du kan hämta, skapa och avbryta exportjobb med programkod.
Komma igång
Slutpunkterna som används i den här guiden är en del av Adobe Experience Platform Segmentation Service API. Innan du fortsätter bör du granska komma igång-guide för viktig information som du behöver känna till för att kunna anropa API:t, inklusive obligatoriska rubriker och hur du läser exempel-API-anrop.
Hämta en lista med exportjobb retrieve-list
Du kan hämta en lista över alla exportjobb för din organisation genom att göra en GET-förfrågan till /export/jobs
slutpunkt.
API-format
The /export/jobs
slutpunkten har stöd för flera frågeparametrar som hjälper dig att filtrera dina resultat. Även om dessa parametrar är valfria rekommenderar vi starkt att de används för att minska dyra overheadkostnader. Om du anropar den här slutpunkten utan parametrar hämtas alla exportjobb som är tillgängliga för din organisation. Flera parametrar kan inkluderas, avgränsade med et-tecken (&
).
GET /export/jobs
GET /export/jobs?limit={LIMIT}
GET /export/jobs?offset={OFFSET}
GET /export/jobs?status={STATUS}
{LIMIT}
{OFFSET}
{STATUS}
Begäran
Följande begäran hämtar de två sista exportjobben i din organisation.
curl -X GET https://platform.adobe.io/data/core/ups/export/jobs?limit=2 \
-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
Följande svar returnerar HTTP-status 200 med en lista över slutförda exportjobb, baserat på frågeparametern i sökvägen för begäran.
{
"records": [
{
"id": 100,
"jobType": "BATCH",
"destination": {
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false,
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52",
},
"fields": "identities.id,personalEmail.address",
"schema": {
"name": "_xdm.context.profile"
},
"imsOrgId": "1BD6382559DF0C130A49422D@AdobeOrg",
"status": "SUCCEEDED",
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status": [
"realized"
]
}
]
},
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"profileInstanceId": "ups",
"errors": [
{
"code": "0100000003",
"msg": "Error in Export Job",
"callStack": "com.adobe.aep.unifiedprofile.common.logging.Logger"
}
],
"metrics": {
"totalTime": {
"startTimeInMs": 123456789000,
"endTimeInMs": 123456799000,
"totalTimeInMs": 10000
},
"profileExportTime": {
"startTimeInMs": 123456789000,
"endTimeInMs": 123456799000,
"totalTimeInMs": 10000
},
"totalExportedProfileCounter": 20,
"exportedProfileByNamespaceCounter": {
"namespace1": 10,
"namespace2": 5
}
},
"computeGatewayJobId": {
"exportJob": "f3058161-7349-4ca9-807d-212cee2c2e94"
},
"creationTime": 1538615973895,
"updateTime": 1538616233239,
"requestId": "d995479c-8a08-4240-903b-af469c67be1f"
},
{
"profileInstanceId": "test_xdm_latest_profile_20_e2e_1538573005395",
"errors": [
{
"code": "0090000009",
"msg": "Error writing profiles to output path 'adl://va7devprofilesnapshot.azuredatalakestore.net/snapshot/722'",
"callStack": "com.adobe.aep.unifiedprofile.common.logging.Logger"
},
{
"code": "unknown",
"msg": "Job aborted.",
"callStack": "org.apache.spark.SparkException: Job aborted."
}
],
"jobType": "BATCH",
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "AAM",
"status": ["realized"]
}
]
},
"id": 722,
"schema": {
"name": "_xdm.context.profile"
},
"mergePolicy": {
"id": "7972e3d6-96ea-4ece-9627-cbfd62709c5d",
"version": 1
},
"status": "FAILED",
"requestId": "KbOAsV7HXmdg262lc4yZZhoml27UWXPZ",
"computeGatewayJobId": {
"exportJob": "15971e0f-317c-4390-9038-1a0498eb356f"
},
"metrics": {
"totalTime": {
"startTimeInMs": 1538573416687,
"endTimeInMs": 1538573922551,
"totalTimeInMs": 505864
},
"profileExportTime": {
"startTimeInMs": 1538573872211,
"endTimeInMs": 1538573918809,
"totalTimeInMs": 46598
}
},
"destination": {
"datasetId": "5bb4c46757920712f924a3eb",
"segmentPerBatch": false,
"batchId": "IWEQ6920712f9475762D"
},
"updateTime": 1538573922551,
"imsOrgId": "1BD6382559DF0C130A49422D@AdobeOrg",
"creationTime": 1538573416687
}
],
"page":{
"sortField": "createdTime",
"sort": "desc",
"pageOffset": "1540974701302_96",
"pageSize": 2
},
"link":{
"next": "/export/jobs/?limit=2&offset=1538573416687_722"
}
}
destination
Målinformation för exporterade data:
datasetId
: ID för datauppsättningen där data exporterades.segmentPerBatch
: Ett booleskt värde som visar om segment-ID är konsoliderade eller inte. Värdet "false" innebär att alla segment-ID:n exporteras till ett enda batch-ID. Värdet "true" innebär att ett segment-ID exporteras till ett batch-ID. Obs! Om värdet är true kan batchexportens prestanda påverkas.
fields
schema.name
filter.segments
Segmenten som exporteras. Följande fält ingår:
segmentId
: Det segment-ID som profiler ska exporteras till.segmentNs
: Segmentnamnutrymme för angivensegmentID
.status
: En array med strängar som ger ett statusfilter försegmentID
. Som standardstatus
har värdet["realized"]
som representerar alla profiler som hamnar i segmentet vid den aktuella tidpunkten. Möjliga värden är:realized
ochexited
. Värdet förrealized
betyder att profilen kvalificerar för segmentet. Värdet förexiting
innebär att profilen avslutar segmentet.
mergePolicy
metrics.totalTime
metrics.profileExportTime
page
link.next
Skapa ett nytt exportjobb create
Du kan skapa ett nytt exportjobb genom att göra en POST-förfrågan till /export/jobs
slutpunkt.
API-format
POST /export/jobs
Begäran
I följande begäran skapas ett nytt exportjobb som konfigurerats med parametrarna i nyttolasten.
curl -X POST https://platform.adobe.io/data/core/ups/export/jobs \
-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 '
{
"fields": "identities.id,personalEmail.address",
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status": [
"realized"
]
}
],
"segmentQualificationTime": {
"startTime": "2018-01-01T00:00:00Z",
"endTime": "2018-02-01T00:00:00Z"
},
"fromIngestTimestamp": "2018-01-01T00:00:00Z",
"emptyProfiles": true
},
"additionalFields": {
"eventList": {
"fields": "string",
"filter": {
"fromIngestTimestamp": "2018-01-01T00:00:00Z",
"toIngestTimestamp": "2020-01-01T00:00:00Z"
}
}
},
"destination":{
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false
},
"schema":{
"name": "_xdm.context.profile"
},
"evaluationInfo": {
"segmentation": true
}
}'
fields
mergePolicy
filter
filter.segments
Anger de segment som ska exporteras. Om du utelämnar det här värdet exporteras alla data från alla profiler. Accepterar en array med segmentobjekt, där vart och ett innehåller följande fält:
segmentId
: (Krävs om du användersegments
) Segment-ID för profiler som ska exporteras.segmentNs
(Valfritt) Segmentnamnutrymme för angivensegmentID
.status
(Valfritt) En array med strängar som tillhandahåller ett statusfilter försegmentID
. Som standardstatus
har värdet["realized"]
som representerar alla profiler som hamnar i segmentet vid den aktuella tidpunkten. Möjliga värden är:realized
ochexited
. Värdet förrealized
betyder att profilen kvalificerar för segmentet. Värdet förexiting
innebär att profilen avslutar segmentet.
filter.segmentQualificationTime
filter.segmentQualificationTime.startTime
filter.segmentQualificationTime.endTime
filter.fromIngestTimestamp
Begränsar exporterade profiler till att endast omfatta de som har uppdaterats efter den här tidsstämpeln. Tidsstämpeln måste anges i RFC 3339 format.
fromIngestTimestamp
for profiler, om det anges: Inkluderar alla sammanfogade profiler där den sammanfogade, uppdaterade tidsstämpeln är större än den angivna tidsstämpeln. Stödergreater_than
operand.fromIngestTimestamp
for händelser: Alla händelser som har importerats efter den här tidsstämpeln exporteras, vilket motsvarar det resulterande profilresultatet. Detta är inte själva händelseläget utan själva intagningstiden för händelserna.
filter.emptyProfiles
emptyProfiles
till true
. If emptyProfiles
är inställd på false
exporteras bara profiler med profilposter i butiken. Som standard, om emptyProfiles
-attribut tas inte med, endast profiler som innehåller profilposter exporteras.additionalFields.eventList
Styr tidsseriens händelsefält som exporteras för underordnade eller associerade objekt genom att ange en eller flera av följande inställningar:
fields
: Kontrollera de fält som ska exporteras.filter
: Anger villkor som begränsar resultaten från associerade objekt. Förväntar ett minimivärde som krävs för export, vanligtvis ett datum.filter.fromIngestTimestamp
: Filtrerar händelser i tidsserier till händelser som har importerats efter den angivna tidsstämpeln. Detta är inte själva händelseläget utan själva intagningstiden för händelserna.filter.toIngestTimestamp
: Filtrerar tidsstämpeln till den som har importerats före den angivna tidsstämpeln. Detta är inte själva händelseläget utan själva intagningstiden för händelserna.
destination
(Obligatoriskt) Information om exporterade data:
datasetId
: (Obligatoriskt) ID för den datauppsättning där data ska exporteras.segmentPerBatch
: (Valfritt) Ett booleskt värde som, om det inte anges, är som standard "false". Värdet false exporterar alla segment-ID:n till ett enda batch-ID. Värdet true exporterar ett segment-ID till ett batch-ID. Observera att om värdet är "true" kan det påverka batchexportens prestanda.
schema.name
evaluationInfo.segmentation
false
. Värdet för true
anger att segmentering måste göras i exportjobbet.Svar
Ett lyckat svar returnerar HTTP-status 200 med information om ditt nyligen skapade exportjobb.
{
"id": 100,
"jobType": "BATCH",
"destination": {
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false,
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
"fields": "identities.id,personalEmail.address",
"schema": {
"name": "_xdm.context.profile"
},
"imsOrgId": "{ORG_ID}",
"status": "NEW",
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status": [
"realized"
]
}
],
"segmentQualificationTime": {
"startTime": "2018-01-01T00:00:00Z",
"endTime": "2018-02-01T00:00:00Z"
},
"fromIngestTimestamp": "2018-01-01T00:00:00Z",
"emptyProfiles": true
},
"additionalFields": {
"eventList": {
"fields": "_id, _experience",
"filter": {
"fromIngestTimestamp": "2018-01-01T00:00:00Z"
}
}
},
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"profileInstanceId": "ups",
"metrics": {
"totalTime": {
"startTimeInMs": 123456789000,
}
},
"computeGatewayJobId": {
"exportJob": ""
},
"creationTime": 1538615973895,
"updateTime": 1538616233239,
"requestId": "d995479c-8a08-4240-903b-af469c67be1f"
}
id
Alternativt om destination.segmentPerBatch
hade satts till true
, destination
objektet ovan skulle ha batches
-array, som visas nedan:
"destination": {
"dataSetId": "{DATASET_ID}",
"segmentPerBatch": true,
"batches": [
{
"segmentId": "segment1",
"segmentNs": "ups",
"status": ["realized"],
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
{
"segmentId": "segment2",
"segmentNs": "AdCloud",
"status": "exited",
"batchId": "df4gssdfb93a09f7e37fa53ad52"
}
]
}
Hämta ett specifikt exportjobb get
Du kan hämta detaljerad information om ett specifikt exportjobb genom att göra en GET-förfrågan till /export/jobs
slutpunkt och ange ID:t för det exportjobb som du vill hämta i sökvägen för begäran.
API-format
GET /export/jobs/{EXPORT_JOB_ID}
{EXPORT_JOB_ID}
id
av det exportjobb som du vill få åtkomst till.Begäran
curl -X GET https://platform.adobe.io/data/core/ups/export/jobs/11037 \
-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
Ett lyckat svar returnerar HTTP-status 200 med detaljerad information om det angivna exportjobbet.
{
"id": 11037,
"jobType": "BATCH",
"destination": {
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false,
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
"fields": "identities.id,personalEmail.address",
"schema": {
"name": "_xdm.context.profile"
},
"imsOrgId": "{ORG_ID}",
"status": "SUCCEEDED",
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status":[
"realized"
]
}
]
},
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"profileInstanceId": "ups",
"metrics": {
"totalTime": {
"startTimeInMs": 123456789000,
"endTimeInMs": 123456799000,
"totalTimeInMs": 10000
},
"profileExportTime": {
"startTimeInMs": 123456789000,
"endTimeInMs": 123456799000,
"totalTimeInMs": 10000
},
"totalExportedProfileCounter": 20,
"exportedProfileByNamespaceCounter": {
"namespace1": 10,
"namespace2": 5
}
},
"computeGatewayJobId": {
"exportJob": "f3058161-7349-4ca9-807d-212cee2c2e94"
},
"creationTime": 1538615973895,
"updateTime": 1538616233239,
"requestId": "d995479c-8a08-4240-903b-af469c67be1f"
}
destination
Målinformation för exporterade data:
datasetId
: ID för den datauppsättning som data exporterades till.segmentPerBatch
: Ett booleskt värde som visar om segment-ID är konsoliderade eller inte. Värdet förfalse
betyder att alla segment-ID:n var i ett enda batch-ID. Värdet förtrue
innebär att ett segment-ID exporteras till ett batch-ID.
fields
schema.name
filter.segments
Segmenten som exporteras. Följande fält ingår:
segmentId
: Segment-ID för profiler som ska exporteras.segmentNs
: Segmentnamnutrymme för angivensegmentID
.status
: En array med strängar som ger ett statusfilter försegmentID
. Som standardstatus
har värdet["realized"]
som representerar alla profiler som hamnar i segmentet vid den aktuella tidpunkten. Möjliga värden är:realized
ochexited
. Värdet förrealized
betyder att profilen kvalificerar för segmentet. Värdet förexiting
innebär att profilen avslutar segmentet.
mergePolicy
metrics.totalTime
metrics.profileExportTime
totalExportedProfileCounter
Avbryt eller ta bort ett specifikt exportjobb delete
Du kan begära att få ta bort det angivna exportjobbet genom att göra en DELETE-förfrågan till /export/jobs
slutpunkt och ange ID:t för det exportjobb som du vill ta bort i sökvägen för begäran.
API-format
DELETE /export/jobs/{EXPORT_JOB_ID}
{EXPORT_JOB_ID}
id
för det exportjobb som du vill ta bort.Begäran
curl -X DELETE https://platform.adobe.io/data/core/ups/export/jobs/{EXPORT_JOB_ID} \
-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
Ett lyckat svar returnerar HTTP-status 2004 med följande meddelande:
{
"status": true,
"message": "Export job has been marked for cancelling"
}
Nästa steg
När du har läst den här guiden får du nu en bättre förståelse för hur exportjobb fungerar.