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.author
LIKE %john%
).datasetId
datasetName
status
pending
, executing
, cancelled
, completed
.expiryDate
limit
page
Requê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
}
results
ttlId
datasetId
datasetName
sandboxName
displayName
description
imsOrg
status
pending
, executing
, cancelled
, completed
.expiry
updatedAt
updatedBy
current_page
total_pages
total_count
Rechercher 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}
include
history
, 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",
}
ttlId
datasetId
datasetName
sandboxName
displayName
description
imsOrg
status
Un de :
pending
, executing
, cancelled
, completed
.expiry
updatedAt
updatedBy
Balises 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"
}'
datasetId
expiry
Obligatoire. 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.
displayName
description
Ré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"
}
ttlId
datasetId
datasetName
sandboxName
displayName
description
imsOrg
status
Un de :
pending
, executing
, cancelled
, completed
.expiry
updatedAt
updatedBy
Un 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"
}'
displayName
description
expiry
Ré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"
}
ttlId
datasetId
datasetName
sandboxName
displayName
description
imsOrg
status
Un de :
pending
, executing
, cancelled
, completed
.expiry
updatedAt
updatedBy
Une 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"
}
ttlId
datasetId
datasetName
sandboxName
displayName
description
imsOrg
status
Un de :
pending
, executing
, cancelled
, completed
.expiry
updatedAt
updatedBy
Exemple 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 ».author
author
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. Public
datasetId
datasetId=62b3925ff20f8e1b990a7434
datasetName
datasetName=Acme
description
description=Handle expiration of Acme information through the end of 2024.
displayName
displayName=License Expiry
executedDate
/ executedFromDate
/ executedToDate
executedDate=2023-02-05T19:34:40.383615Z
expiryDate
2024-01-01
expiryToDate
/ expiryFromDate
expiryFromDate=2099-01-01&expiryToDate=2100-01-01
limit
limit=50
orderBy
orderBy
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
.-datasetName
orgId
x-gw-ims-org-id
, et est ignorée sauf si la requête fournit un jeton de service.orgId=885737B25DC460C50A49411B@AdobeOrg
page
page=3
sandboxName
x-sandbox-name
de la requête. Utilisez sandboxName=*
pour inclure les expirations de jeux de données de tous les sandbox.sandboxName=dev1
search
Correspond 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=TESTING
status
status=pending,cancelled
ttlId
ttlID=SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f
updatedDate
2024-01-01
updatedToDate
/ updatedFromDate
Une 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