Point de terminaison des tâches du système Profile (requêtes de suppression)
Adobe Experience Platform vous permet d’ingérer des données provenant de plusieurs sources et de créer des profils fiables pour les clients individuels. Données ingérées dans Platform est stocké dans la variable Data Lake, et si les jeux de données ont été activés pour Profile, ces données sont stockées dans la variable Real-Time Customer Profile entrepôt de données également. Il peut parfois être nécessaire de supprimer un jeu de données ou un lot de la banque de données Profile pour supprimer les données devenues inutiles ou ajoutées par erreur. Cela nécessite l’utilisation de la variable Real-Time Customer Profile API pour créer une Profile tâche système, ou delete request
, qui peut également être modifié, surveillé ou supprimé si nécessaire.
Prise en main
Le point d’entrée dʼAPI utilisé dans ce guide fait partie de Real-Time Customer Profile API. Avant de continuer, consultez le guide de prise en main pour obtenir des liens vers la documentation associée, un guide de lecture des exemples d’appels API dans ce document et des informations importantes sur les en-têtes requis pour réussir des appels vers n’importe quelle API d’Experience Platform.
Affichage des requêtes de suppression
Une requête de suppression est un processus persistant asynchrone, ce qui signifie que votre organisation peut exécuter plusieurs requêtes de suppression simultanément. Pour afficher toutes les requêtes de suppression en cours d’exécution par votre organisation, vous pouvez exécuter une requête GET sur le point d’entrée /system/jobs
.
Vous pouvez également utiliser des paramètres de requête facultatifs pour filtrer la liste des requêtes de suppression renvoyées dans la réponse. Pour utiliser plusieurs paramètres, séparez chaque paramètre à l’aide d’une esperluette (&
).
Format d’API
GET /system/jobs
GET /system/jobs?{QUERY_PARAMETERS}
start
start=4
limit
limit=10
page
page=2
sort
asc
) ou décroissant (desc
). Le paramètre de tri ne fonctionne pas lors du renvoi de plusieurs pages de résultats. Exemple : sort=batchId:asc
Requête
curl -X GET \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Réponse
La réponse comprend un tableau « enfants » avec un objet pour chaque requête de suppression contenant les détails de cette requête.
{
"_page": {
"count": 100,
"next": "K1JJRDpFaWc5QUwyZFgtMEpBQUFBQUFBQUFBPT0jUlQ6MSNUUkM6MiNGUEM6QWdFQUFBQVFBQWZBQUg0Ly9yL25PcmpmZndEZUR3QT0="
},
"children": [
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{ORG_ID}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "COMPLETED",
"metrics": "{\"recordsProcessed\":5,\"timeTakenInSec\":1}",
"createEpoch": 1559026134,
"updateEpoch": 1559026137
},
{
"id": "3f225e7e-ac8c-4904-b1d5-0ce79e03c2ec",
"imsOrgId": "{ORG_ID}",
"dataSetId": "5c802d3cd83fc114b741c4b5",
"jobType": "DELETE",
"status": "PROCESSING",
"metrics": "{\"recordsProcessed\":0,\"timeTakenInSec\":15}",
"createEpoch": 1559025404,
"updateEpoch": 1559025406
}
]
}
_page.count
_page.next
"next"
valeur fournie.jobType
"DELETE"
.status
"NEW"
, "PROCESSING"
, "COMPLETED"
, "ERROR"
.metrics
"recordsProcessed"
) et la durée (en secondes) pendant laquelle la requête a été traitée, ou la durée (temps) de la requête ("timeTakenInSec"
).Création d’une requête de suppression create-a-delete-request
L’exécution d’une nouvelle requête de suppression se fait par le biais d’une requête POST au point d’entrée /systems/jobs
, où l’identifiant du jeu de données ou du lot à supprimer est fourni dans le corps de la requête.
Suppression d’un jeu de données
Pour supprimer un jeu de données de la banque de profils, l’identifiant du jeu de données doit être inclus dans le corps de la requête du POST. Cette action supprimera TOUTES les données d’un jeu de données. Experience Platform vous permet de supprimer des jeux de données en fonction de schémas d’enregistrement et de séries temporelles.
Format d’API
POST /system/jobs
Requête
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"dataSetId": "5c802d3cd83fc114b741c4b5"
}'
dataSetId
Réponse
Une réponse réussie renvoie les détails de la requête de suppression créée, y compris un identifiant unique généré par le système et en lecture seule pour la requête. Vous pouvez l’utiliser pour rechercher la requête et en vérifier l’état. Le status
pour la requête au moment de sa création est "NEW"
jusqu’à ce qu’elle commence à être traitée. Le dataSetId
contenu de la réponse doit correspondre au dataSetId
envoyé dans la requête.
{
"id": "3f225e7e-ac8c-4904-b1d5-0ce79e03c2ec",
"imsOrgId": "{ORG_ID}",
"dataSetId": "5c802d3cd83fc114b741c4b5",
"jobType": "DELETE",
"status": "NEW",
"createEpoch": 1559025404,
"updateEpoch": 1559025406
}
id
dataSetId
Suppression d’un lot
Pour supprimer un lot, l’identifiant du lot doit être inclus dans le corps de la requête POST. Veuillez noter que vous ne pouvez pas supprimer les lots des jeux de données basés sur des schémas d’enregistrement. Seuls les lots des jeux de données basés sur des schémas de séries temporelles peuvent être supprimés.
Pour plus d’informations sur le comportement des enregistrements et des séries temporelles, veuillez consulter la section section sur les comportements de données XDM dans le XDM System aperçu.
Format d’API
POST /system/jobs
Requête
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"batchId": "8d075b5a178e48389126b9289dcfd0ac"
}'
batchId
Réponse
Une réponse réussie renvoie les détails de la requête de suppression créée, y compris un identifiant unique généré par le système et en lecture seule pour la requête. Vous pouvez l’utiliser pour rechercher la requête et en vérifier l’état. Le "status"
pour la requête au moment de sa création est "NEW"
jusqu’à ce qu’elle commence à être traitée. La variable "batchId"
La valeur de la réponse doit correspondre à la variable "batchId"
valeur envoyée dans la requête.
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{ORG_ID}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "NEW",
"createEpoch": 1559026131,
"updateEpoch": 1559026132
}
id
batchId
Si vous tentez d’exécuter une requête de suppression pour un lot de jeux de données d’enregistrement, une erreur de niveau 400 s’affichera, comme suit :
{
"requestId": "bc4eb29f-63a8-4653-9133-71238884bb81",
"errors": {
"400": [
{
"code": "500",
"message": "Batch can only be specified for EE type 'a294e36d382649dab2cc6ad64a41b674'"
}
]
}
}
Affichage d’une requête de suppression spécifique view-a-specific-delete-request
Pour afficher une requête de suppression spécifique, y compris des détails tels que son état, vous pouvez exécuter une requête de recherche (GET) sur le point d’entrée/system/jobs
et inclure l’identifiant de la requête de suppression dans le chemin.
Format d’API
GET /system/jobs/{DELETE_REQUEST_ID}
{DELETE_REQUEST_ID}
Requête
curl -X GET \
https://platform.adobe.io/data/core/ups/system/jobs/9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Réponse
La réponse fournit les détails de la requête de suppression, y compris son état mis à jour. Identifiant de la requête de suppression dans la réponse (le "id"
) doit correspondre à l’identifiant envoyé dans le chemin d’accès de la requête.
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{ORG_ID}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "COMPLETED",
"metrics": "{\"recordsProcessed\":5,\"timeTakenInSec\":1}",
"createEpoch": 1559026134,
"updateEpoch": 1559026137
}
jobType
"DELETE"
.status
"NEW"
, "PROCESSING"
, "COMPLETED"
, "ERROR"
.metrics
"recordsProcessed"
) et la durée (en secondes) pendant laquelle la requête a été traitée, ou la durée (temps) de la requête ("timeTakenInSec"
).Lorsque l’état de la requête de suppression est "COMPLETED"
vous pouvez confirmer que les données ont été supprimées en tentant d’accéder aux données supprimées à l’aide de l’API Data Access. Pour savoir comment utiliser l’API Data Access pour accéder aux jeux de données et aux lots, consultez la documentation sur Data Access.
Suppression d’une requête de suppression
Experience Platform permet de supprimer une requête précédente, ce qui peut s’avérer utile pour plusieurs raisons, notamment si la tâche de suppression n’a pas été terminée ou s’est retrouvée bloquée dans l’étape de traitement. Pour supprimer une requête de suppression, vous pouvez exécuter une requête DELETE sur le point d’entrée /system/jobs
et inclure l’identifiant de la requête de suppression que vous souhaitez supprimer dans le chemin de la requête.
Format d’API
DELETE /system/jobs/{DELETE_REQUEST_ID}
Requête
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs/9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Réponse
Une requête de suppression réussie renvoie un état HTTP 200 (OK) et un corps de réponse vide. Vous pouvez confirmer que la requête a été supprimée en exécutant une requête GET pour afficher la requête de suppression par son identifiant. Ceci doit renvoyer l’état HTTP 404 (Introuvable), indiquant que la requête de suppression a été supprimée.
Étapes suivantes
Maintenant que vous connaissez les étapes impliquées dans la suppression des jeux de données et des lots de la variable Profile Store dans Experience Platform, vous pouvez supprimer en toute sécurité les données ajoutées par erreur ou dont votre entreprise n’a plus besoin. N’oubliez pas qu’une requête de suppression ne peut pas être annulée. Vous devez donc supprimer uniquement les données dont vous êtes sûr que vous n’avez pas besoin et dont vous n’aurez plus jamais besoin.