Point d’entrée d’expiration du jeu de données
Utilisez le point d’entrée /ttl dans l’API Data Hygiene pour planifier la suppression des jeux de données dans Adobe Experience Platform.
Une expiration de jeu de données est une opération de suppression différée. Le jeu de données n’est pas protégé en attendant et peut être supprimé par d’autres moyens avant son expiration planifiée.
Avant que la suppression ne commence, vous pouvez annuler l’expiration ou modifier son heure planifiée. Pour rouvrir une expiration annulée, définissez une nouvelle expiration.
Une fois la suppression commencée, la tâche d’expiration est marquée comme executing et ne peut plus être modifiée. Le jeu de données peut être récupéré pendant un maximum de sept jours, mais uniquement par le biais d’une demande de service Adobe manuelle. Lors de la suppression, le lac de données, le service d’identités et le profil client en temps réel suppriment chacun le contenu du jeu de données séparément. Une fois la suppression terminée, l’expiration est marquée comme completed.
Advanced Data Lifecycle Management prend en charge les suppressions de jeux de données via le point d’entrée d’expiration du jeu de données et les suppressions d’ID (données au niveau des lignes) à l’aide d’identités principales via le point d’entrée workorder. Vous pouvez également gérer les expirations de jeux de données et suppressions d’enregistrements via l’interface utilisateur d’Experience Platform. Pour plus d’informations, consultez la documentation associée .
Prise en main
Le point d’entrée utilisé dans ce guide fait partie de lʼAPI Data Hygiene. Avant de poursuivre, consultez le guide de l’API pour plus d’informations sur les en-têtes requis pour les opérations CRUD, les messages d’erreur, les collections Postman et la lecture d’exemples d’appels API.
x-sandbox-name: {SANDBOX_NAME} -H .Répertorier les expirations des jeux de données list
Vous pouvez répertorier toutes les expirations de jeux de données configurées pour votre organisation en effectuant une requête GET au point d’entrée /ttl.
Filtrez les résultats à l’aide des paramètres de requête pour renvoyer uniquement les expirations qui répondent à vos critères. Chaque résultat comprend le statut et les détails de configuration pour chaque expiration de jeu de données.
Format d’API
GET /ttl?{QUERY_PARAMETERS}
{QUERY_PARAMETERS}&. Les paramètres courants comprennent limit et page à des fins de pagination. Pour obtenir la liste complète des paramètres de requête pris en charge, reportez-vous à la section annexe liste complète des paramètres de requête pris en charge. Les paramètres les plus couramment utilisés sont inclus ci-dessous ainsi que dans l'annexe.authorLIKE %john%).datasetIddatasetNamestatuspending, executing, cancelled, completed.expiryDatelimitpageRequête
La requête suivante récupère toutes les expirations de jeux de données mises à jour avant le 1er août 2021 et mises à jour pour la dernière fois par un utilisateur dont le nom correspond à « Jane Doe ».
curl -X GET \
https://platform.adobe.io/data/core/hygiene/ttl?updatedToDate=2021-08-01&author=LIKE%20%25Jane%20Doe%25 \
-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 réponse réussie répertorie les expirations de jeux de données obtenues. L’exemple suivant a été tronqué pour des raisons d’espace.
ttlId de la réponse est également appelée la {DATASET_EXPIRATION_ID}. Tous deux font référence à l’identifiant unique de l’expiration du jeu de données.{
"results": [
{
"ttlId": "SD-c9f113f2-d751-44bc-bc20-9d5ca0b6ae15",
"datasetId": "3e9f815ae1194c65b2a4c5ea",
"datasetName": "Acme_Profile_Engagements",
"sandboxName": "acme-beta",
"displayName": "Engagement Data Retention Policy",
"description": "Scheduled expiry for Acme marketing data",
"imsOrg": "C9D8E7F6A5B41234567890AB@AcmeOrg",
"status": "pending",
"expiry": "2027-01-12T17:15:31.000Z",
"updatedAt": "2026-12-15T12:40:20.000Z",
"updatedBy": "t.lannister@acme.com <t.lannister@acme.com> 3E9F815AE1194C65B2A4C5EA@acme.com"
}
],
"current_page": 0,
"total_pages": 1,
"total_count": 1
}
resultsttlIddatasetIddatasetNamesandboxNamedisplayNamedescriptionimsOrgstatuspending, executing, cancelled, completed.expiryupdatedAtupdatedBycurrent_pagetotal_pagestotal_countRechercher l’expiration d’un jeu de données lookup
Récupérez les détails d’une configuration d’expiration de jeu de données spécifique en effectuant une requête GET avec l’identifiant d’expiration du jeu de données ou l’identifiant du jeu de données comme paramètre de chemin d’accès.
SD-xxxxxx-xxxx) ou un identifiant de jeu de données dans le chemin d’accès . La ttlId dans la réponse est l’identifiant unique de l’expiration du jeu de données.Format d’API
GET /ttl/{ID}
GET /ttl/{ID}?include=history
{ID}includehistory, la réponse inclut un tableau history avec des événements de modification pour la configuration.Requête
La requête suivante recherche les détails d’expiration du jeu de données 62759f2ede9e601b63a2ee14 :
curl -X GET \
https://platform.adobe.io/data/core/hygiene/ttl/62759f2ede9e601b63a2ee14 \
-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 réponse réussie renvoie les détails de l’expiration du jeu de données.
{
"ttlId": "SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f",
"datasetId": "62759f2ede9e601b63a2ee14",
"datasetName": "XtVRwq9-38734",
"sandboxName": "prod",
"displayName": "Delete Acme Data before 2025",
"description": "The Acme information in this dataset is licensed for our use through the end of 2024.",
"imsOrg": "885737B25DC460C50A49411B@AdobeOrg",
"status": "pending",
"expiry": "2035-09-25T00:00:00Z",
"updatedAt": "2025-05-01T19:00:55.000Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e",
}
ttlIddatasetIddatasetNamesandboxNamedisplayNamedescriptionimsOrgstatusUn de :
pending, executing, cancelled, completed.expiryupdatedAtupdatedByBalises d’expiration du catalogue
Lors de l’utilisation de l’API Catalog pour rechercher les détails du jeu de données, si le jeu de données a une expiration active, il sera répertorié sous tags.adobe/hygiene/ttl.
Le fichier JSON suivant affiche une réponse de l’API Catalog tronquée pour un jeu de données avec une valeur d’expiration de 32503680000000. La balise code l’expiration comme le nombre de millisecondes écoulées depuis l’époque Unix.
{
"63212313c308d51b997858ba": {
"name": "Test Dataset",
"description": "A piecrust promise, made to be broken",
"imsOrg": "0FCC747E56F59C747F000101@AdobeOrg",
"sandboxId": "8dc51b90-d0f9-11e9-b164-ed6a398c8b35",
"tags": {
"adobe/hygiene/ttl": [ "32503680000000" ],
...
},
...
}
}
Créer une expiration de jeu de données create
Créez une configuration d’expiration de jeu de données pour définir le moment où un jeu de données expirera et pourra être supprimé.
Fournissez l’identifiant du jeu de données, la date ou l’heure d’expiration (au format ISO 8601), un nom d’affichage et (éventuellement) une description.
Pour créer une expiration de jeu de données, envoyez une requête POST comme illustré ci-dessous.
Format d’API
POST /ttl
Requête
curl -X POST \
https://platform.adobe.io/data/core/hygiene/ttl \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"datasetId": "3e9f815ae1194c65b2a4c5ea",
"expiry": "2030-12-31",
"displayName": "Expiry rule for Acme customers",
"description": "Set expiration for Acme customer dataset"
}'
datasetIdexpiryObligatoire. Date et heure d’expiration au format ISO 8601. Cela définit la durée de vie des données dans le système. Si une seule date est fournie, la valeur par défaut est minuit UTC (00:00:00Z). La date de péremption doit être d’au moins 24 heures.
REMARQUE :
- La requête échoue si une expiration de jeu de données existe déjà pour le jeu de données.
displayNamedescriptionRéponse
Une réponse réussie renvoie un statut HTTP 201 (Created) et la nouvelle configuration d’expiration du jeu de données.
{
"ttlId": "SD-2aaf113e-3f17-4321-bf29-a2c51152b042",
"datasetId": "3e9f815ae1194c65b2a4c5ea",
"datasetName": "Acme_Customer_Data",
"sandboxName": "acme-prod",
"displayName": "Expiry rule for Acme customers",
"description": "Set expiration for Acme customer dataset",
"imsOrg": "{ORG_ID}",
"status": "pending",
"expiry": "2030-12-31T00:00:00Z",
"updatedAt": "2025-01-02T10:35:45.000Z",
"updatedBy": "s.stark@acme.com <s.stark@acme.com> 3E9F815AE1194C65B2A4C5EA@acme.com"
}
ttlIddatasetIddatasetNamesandboxNamedisplayNamedescriptionimsOrgstatusUn de :
pending, executing, cancelled, completed.expiryupdatedAtupdatedByUn statut HTTP 400 (Bad Request) apparaît si une expiration de jeu de données existe déjà pour le jeu de données. Un statut HTTP 404 (Introuvable) apparaît si un jeu de données de ce type n’existe pas ou si vous n’avez pas accès au jeu de données.
Mettre à jour une configuration d’expiration de jeu de données update
Pour mettre à jour une configuration d’expiration de jeu de données existante, envoyez une requête PUT à /ttl/DATASET_EXPIRATION_ID. Vous pouvez uniquement mettre à jour les champs displayName, description et expiry de la configuration. Les mises à jour ne sont autorisées que lorsque le statut d’expiration est pending.
expiry accepte une date (AAAA-MM-JJ) ou une date et une heure (AAAA-MM-JJJSSZ). Si une seule date est fournie, le système utilise minuit UTC (00:00:00Z) ce jour-là. La date de péremption doit être d’au moins 24 heures.Format d’API
PUT /ttl/{DATASET_EXPIRATION_ID}
{DATASET_EXPIRATION_ID}ttlId dans la réponse.Requête
La requête suivante met à jour l’expiration, le nom d’affichage et la description des SD-c1f902aa-57cb-412e-bb2b-c70b8e1a5f45 d’expiration des jeux de données :
curl -X PUT \
https://platform.adobe.io/data/core/hygiene/ttl/SD-c1f902aa-57cb-412e-bb2b-c70b8e1a5f45 \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"displayName": "Customer Dataset Expiry Rule",
"description": "Updated description for Acme customer dataset",
"expiry": "2031-06-15"
}'
displayNamedescriptionexpiryRéponse
Une réponse réussie renvoie le statut HTTP 200 (OK) et la configuration d’expiration du jeu de données mise à jour.
{
"ttlId": "SD-c1f902aa-57cb-412e-bb2b-c70b8e1a5f45",
"datasetId": "3e9f815ae1194c65b2a4c5ea",
"datasetName": "Acme_Customer_Data",
"sandboxName": "acme-prod",
"displayName": "Customer Dataset Expiry Rule",
"description": "Updated description for Acme customer dataset",
"imsOrg": "C9D8E7F6A5B41234567890AB@AcmeOrg",
"status": "pending",
"expiry": "2031-06-15T00:00:00Z",
"updatedAt": "2031-05-01T14:11:12.000Z",
"updatedBy": "b.tarth@acme.com <b.tarth@acme.com> 3E9F815AE1194C65B2A4C5EA@acme.com"
}
ttlIddatasetIddatasetNamesandboxNamedisplayNamedescriptionimsOrgstatusUn de :
pending, executing, cancelled, completed.expiryupdatedAtupdatedByUne réponse infructueuse renvoie un statut HTTP 404 (Introuvable) si une telle expiration de jeu de données n’existe pas.
Annuler l’expiration d’un jeu de données delete
Annulez une configuration d’expiration de jeu de données en attente en effectuant une requête DELETE sur /ttl/{ID}.
pending peuvent être annulées. Toute tentative d’annulation d’une expiration déjà executing, completed ou cancelled renvoie un HTTP 400 (Bad Request).Format d’API
DELETE /ttl/{ID}
{ID}Requête
La requête suivante annule l’expiration d’un jeu de données avec l’identifiant SD-d4a7d918-283b-41fd-bfe1-4e730a613d21 :
curl -X DELETE \
https://platform.adobe.io/data/core/hygiene/ttl/SD-d4a7d918-283b-41fd-bfe1-4e730a613d21 \
-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 réponse réussie renvoie le statut HTTP 200 (OK) et la configuration d’expiration du jeu de données annulée. Notez que l’attribut status de l’expiration est défini sur cancelled.
{
"ttlId": "SD-d4a7d918-283b-41fd-bfe1-4e730a613d21",
"datasetId": "5a9e2c68d3b24f03b55a91ce",
"datasetName": "Acme_Customer_Data",
"sandboxName": "acme-prod",
"displayName": "Customer Dataset Expiry Rule",
"description": "Cancelled expiry configuration for Acme customer dataset",
"imsOrg": "C9D8E7F6A5B41234567890AB@AcmeOrg",
"status": "cancelled",
"expiry": "2032-02-28T00:00:00Z",
"updatedAt": "2032-01-15T08:27:31.000Z",
"updatedBy": "s.clegane@acme.com <s.clegane@acme.com> 5A9E2C68D3B24F03B55A91CE@acme.com"
}
ttlIddatasetIddatasetNamesandboxNamedisplayNamedescriptionimsOrgstatusUn de :
pending, executing, cancelled, completed.expiryupdatedAtupdatedByExemple de réponse 400 (requête incorrecte)
Une erreur 400 se produit lors de la tentative d’annulation d’un jeu de données ayant une configuration d’expiration executing, completed ou cancelled.
{
"type": "http://ns.adobe.com/aep/errors/HYGN-3102-400",
"title": "The requested dataset already has an existing expiration. Additional detail: A TTL already exists for datasetId=686e9ca25ef7462aefe72c93",
"status": 400,
"report": {
"tenantInfo": {
"sandboxName": "prod",
"sandboxId": "not-applicable",
"imsOrgId": "{IMS_ORG_ID}"
},
"additionalContext": {
"Invoking Client ID": "acp_privacy_hygiene"
}
},
"error-chain": [
{
"serviceId": "HYGN",
"errorCode": "HYGN-3102-400",
"invokingServiceId": "acp_privacy_hygiene",
"unixTimeStampMs": 1754408150394
}
]
}
completed ou cancelled.Annexe
Paramètres de requête acceptés query-params
Le tableau suivant décrit les paramètres de requête disponibles lorsque les expirations des jeux de données sont répertoriées :
description, displayName et datasetName contiennent tous la possibilité de rechercher des éléments par des valeurs LIKE. Cela signifie que vous pouvez trouver des expirations de jeux de données planifiées nommées : « Name123 », « Name183 », « DisplayName1234 » en recherchant la chaîne « Name1 ».authorauthor pour trouver la personne qui a le plus récemment mis à jour l’expiration du jeu de données. Si aucune mise à jour n’a été effectuée depuis sa création, cela correspond au créateur initial de l’expiration. Ce paramètre correspond aux expirations pour lesquelles le champ created_by correspond à la chaîne de recherche.Si la chaîne de recherche commence par
LIKE ou NOT LIKE, le reste est traité comme un modèle de recherche SQL. Dans le cas contraire, l’intégralité de la chaîne de recherche est traitée comme une chaîne littérale qui doit correspondre exactement à l’intégralité du contenu d’un champ created_by.author=LIKE %john%, author=John Q. PublicdatasetIddatasetId=62b3925ff20f8e1b990a7434datasetNamedatasetName=Acmedescriptiondescription=Handle expiration of Acme information through the end of 2024.displayNamedisplayName=License ExpiryexecutedDate / executedFromDate / executedToDateexecutedDate=2023-02-05T19:34:40.383615ZexpiryDate2024-01-01expiryToDate / expiryFromDateexpiryFromDate=2099-01-01&expiryToDate=2100-01-01limitlimit=50orderByorderBy spécifie l’ordre de tri des résultats renvoyés par l’API. Utilisez-la pour organiser les données en fonction d’un ou de plusieurs champs, par ordre croissant (ASC) ou décroissant (DESC). Utilisez le préfixe + ou - pour indiquer respectivement ASC et DESC. Les valeurs suivantes sont acceptées : displayName, description, datasetName, id, updatedBy, updatedAt, expiry, status.-datasetNameorgIdx-gw-ims-org-id, et est ignorée sauf si la requête fournit un jeton de service.orgId=885737B25DC460C50A49411B@AdobeOrgpagepage=3sandboxNamex-sandbox-name de la requête. Utilisez sandboxName=* pour inclure les expirations de jeux de données de tous les sandbox.sandboxName=dev1searchCorrespond aux expirations pour lesquelles la chaîne spécifiée correspond exactement à l’ID d’expiration ou est contenue dans l’un de ces champs :
- Auteur
- nom d’affichage
- description
- nom d’affichage
- nom du jeu de données
search=TESTINGstatusstatus=pending,cancelledttlIdttlID=SD-c8c75921-2416-4be7-9cfd-9ab01de66c5fupdatedDate2024-01-01updatedToDate / updatedFromDateUne expiration est considérée comme mise à jour à chaque modification, y compris lorsqu’elle est créée, annulée ou exécutée.
updatedDate=2022-01-01