Création d’une tâche d’exportation
Vous pouvez créer une tâche d’exportation en effectuant une requête POST sur le point d’entrée /export/jobs
.
Format d’API
POST /export/jobs
Requête
La requête suivante crée une tâche d’exportation configurée par les paramètres fournis dans le payload.
Exemple de requête pour créer une tâche d’exportation.
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
}
}'
Propriété | Description |
---|---|
fields | Une liste des champs exportés, séparés par des virgules. Si rien n’est indiqué, tous les champs seront exportés. |
mergePolicy | Spécifie la stratégie de fusion pour régir les données exportées. Ajoutez ce paramètre lorsque plusieurs segments sont exportés. Si elle n’est pas fournie, l’exportation applique la même politique de fusion que le segment donné. |
filter | Objet qui spécifie les segments qui vont être inclus dans la tâche d’exportation par identifiant, heure de qualification ou heure d’ingestion, selon les sous-propriétés répertoriées ci-dessous. Si rien n’est indiqué, toutes les données seront exportées. |
filter.segments |
Indique les segments à exporter. Si vous omettez cette valeur, toutes les données de l’ensemble des profils seront exportées. Accepte un tableau d’objets de segment, chacun contenant les champs suivants :
|
filter.segmentQualificationTime | Filtre basé sur l’heure de qualification du segment. L’heure de début et/ou l’heure de fin peuvent être fournies. |
filter.segmentQualificationTime.startTime | L’heure de début de qualification du segment d’un identifiant de segment pour un état donné. Si elle n’est pas fournie, aucun filtre ne sera appliqué à l’heure de début pour une qualification d’identifiant du segment. La date et l’heure doivent être fournies au format RFC 3339. |
filter.segmentQualificationTime.endTime | L’heure de fin de qualification du segment d’un identifiant de segment pour un état donné. Si elle n’est pas fournie, aucun filtre ne sera appliqué à l’heure de fin pour une qualification d’identifiant du segment. La date et l’heure doivent être fournies au format RFC 3339. |
filter.fromIngestTimestamp |
Limite les profils exportés afin de n’inclure que ceux qui ont été mis à jour après cet horodatage. La date et l’heure doivent être fournies au format RFC 3339.
|
filter.emptyProfiles | Une valeur boolean qui indique s’il faut filtrer les profils vides. Les profils peuvent contenir des enregistrements de profil, des enregistrements ExperienceEvent, ou les deux. Les profils sans enregistrement de profil et seuls les enregistrements ExperienceEvent sont appelés "emptyProfiles". Pour exporter tous les profils de la banque de profils, y compris les « emptyProfiles », définissez la valeur de emptyProfiles sur true . Si emptyProfiles est défini sur false , seuls les profils avec des enregistrements de profil dans la boutique sont exportés. Par défaut, si l’attribut emptyProfiles n’est pas inclus, seuls les profils contenant des enregistrements de profil sont exportés. |
additionalFields.eventList |
Contrôle les champs d’événement de série temporelle exportés pour des objets enfants ou associés en fournissant un ou plusieurs des paramètres suivants :
|
destination |
(Obligatoire) Informations sur les données exportées :
|
schema.name | (Obligatoire) Le nom du schéma associé au jeu de données vers lequel les données doivent être exportées. |
evaluationInfo.segmentation | (Facultatif) Une valeur booléenne qui, si elle n’est pas fournie, est définie par défaut sur false . Une valeur true indique que la segmentation doit être effectuée sur la tâche d’exportation. |
Réponse
Une réponse réussie renvoie un état HTTP 200 avec les détails de la tâche d’exportation que vous venez de créer.
Exemple de réponse lors de la création d’une tâche d’exportation.
{
"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"
}
Propriété | Description |
---|---|
id | Une valeur en lecture seule générée par le système qui identifie la tâche d’exportation qui vient d’être créée. |
Si destination.segmentPerBatch
avait été défini sur true
, l’objet destination
ci-dessus aurait également un tableau batches
, comme illustré ci-dessous :
"destination": {
"dataSetId": "{DATASET_ID}",
"segmentPerBatch": true,
"batches": [
{
"segmentId": "segment1",
"segmentNs": "ups",
"status": ["realized"],
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
{
"segmentId": "segment2",
"segmentNs": "AdCloud",
"status": "exited",
"batchId": "df4gssdfb93a09f7e37fa53ad52"
}
]
}
Récupération d’une tâche d’exportation spécifique
Vous pouvez récupérer des informations détaillées sur une tâche d’exportation spécifique en effectuant une requête de GET sur le point de terminaison /export/jobs
et en fournissant l’identifiant de la tâche d’exportation que vous souhaitez récupérer dans le chemin d’accès de la requête.
Format d’API
GET /export/jobs/{EXPORT_JOB_ID}
Paramètre | Description |
---|---|
{EXPORT_JOB_ID} | L’id de la tâche d’exportation à laquelle vous souhaitez accéder. |
Requête
Exemple de requête pour récupérer une tâche d’exportation.
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}'
Réponse
Une réponse réussie renvoie un état HTTP 200 avec des informations détaillées sur la tâche d’exportation spécifiée.
Exemple de réponse lors de la récupération d’une tâche d’exportation.
{
"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"
}
Propriété | Description |
---|---|
destination |
Informations de destination pour les données exportées :
|
fields | Liste des champs exportés, séparés par des virgules. |
schema.name | Nom du schéma associé au jeu de données dans lequel les données doivent être exportées. |
filter.segments |
Segments exportés. Les champs suivants sont inclus :
|
mergePolicy | Fusionner les informations de stratégie pour les données exportées. |
metrics.totalTime | Un champ indiquant le temps total nécessaire à l’exécution de la tâche d’exportation. |
metrics.profileExportTime | Un champ indiquant le temps nécessaire à l’exportation des profils. |
totalExportedProfileCounter | Le nombre total de profils exportés entre tous les lots. |