Point d’entrée d’expiration du jeu de données
Le point d’entrée /ttl
de l’API Data Hygiene vous permet de planifier des dates d’expiration pour les jeux de données dans Adobe Experience Platform.
L’expiration d’un jeu de données n’est rien d’autre qu’une opération de suppression différée. En attendant, le jeu de données n’est pas protégé, il peut donc être supprimé par d’autres moyens avant son expiration.
Avant que la suppression du jeu de données ne soit réellement lancée, vous pouvez annuler l’expiration ou modifier son heure de déclenchement. Après l’annulation de l’expiration d’un jeu de données, vous pouvez la rouvrir en définissant une nouvelle expiration.
Une fois que la suppression du jeu de données est lancée, sa tâche d’expiration est marquée comme étant executing
et ne peut plus être modifiée. Le jeu de données lui-même peut être récupéré pendant un maximum de sept jours, mais uniquement par le biais d’un processus manuel initié par une demande de service Adobe. Lorsque la requête s’exécute, le lac de données, Identity Service et Real-Time Customer Profile commencent des processus distincts pour supprimer le contenu du jeu de données de leurs services respectifs. Une fois les données supprimées des trois services, la tâche d’expiration est marquée comme étant completed
.
La gestion avancée du cycle de vie des données prend en charge les suppressions de jeux de données par le biais du point de terminaison d’expiration du jeu de données et des suppressions d’identifiants (données au niveau de la ligne) à l’aide des identités primaires via le point de terminaison de l’ordre de travail. Vous pouvez également gérer les expirations de jeux de données et les suppressions d’enregistrements via l’interface utilisateur de Platform. Pour plus d’informations, consultez la documentation lié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 d’API pour plus d’informations sur les en-têtes requis pour les opérations CRUD, les messages d’erreur, les collections Postman et sur la lecture d’exemples d’appels API.
x-sandbox-name: {SANDBOX_NAME}
.Répertorier les expirations des jeux de données list
Vous pouvez répertorier toutes les expirations de jeux de données pour votre organisation en effectuant une requête de GET. Les paramètres de requête peuvent être utilisés pour filtrer la réponse pour obtenir les résultats appropriés.
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, consultez la section Annexe.Requête
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
dans la réponse est également appelé {DATASET_EXPIRATION_ID}
. Tous deux font référence à l’identifiant unique pour l’expiration du jeu de données.{
"results": [
{
"ttlId": "SD-b16c8b48-a15a-45c8-9215-587ea89369bf",
"datasetId": "629bd9125b31471b2da7645c",
"datasetName": "Sample Acme dataset",
"sandboxName": "hygiene-beta",
"imsOrg": "A2A5*EF06164773A8A49418C@AdobeOrg",
"status": "pending",
"expiry": "2050-01-01T00:00:00Z",
"updatedAt": "2023-06-09T16:52:44.136028Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e"
}
],
"current_page": 0,
"total_pages": 1,
"total_count": 1
}
total_count
results
Rechercher l’expiration d’un jeu de données lookup
Pour rechercher une expiration de jeu de données, effectuez une requête de GET avec le {DATASET_ID}
ou le {DATASET_EXPIRATION_ID}
.
{DATASET_EXPIRATION_ID}
est appelé ttlId
dans la réponse. Tous deux font référence à l’identifiant unique pour l’expiration du jeu de données.Format d’API
GET /ttl/{DATASET_ID}?include=history
GET /ttl/{DATASET_EXPIRATION_ID}
{DATASET_ID}
{DATASET_EXPIRATION_ID}
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",
"imsOrg": "A2A5*EF06164773A8A49418C@AdobeOrg",
"status": "pending",
"expiry": "2024-12-31T23:59:59Z",
"updatedAt": "2024-05-11T15:12:40.393115Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e",
"displayName": "Delete Acme Data before 2025",
"description": "The Acme information in this dataset is licensed for our use through the end of 2024."
}
ttlId
datasetId
datasetName
sandboxName
imsOrg
status
expiry
updatedAt
updatedBy
displayName
description
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 représente une réponse tronquée pour les détails d’un jeu de données du catalogue, dont la valeur d’expiration est de 32503680000000
. La valeur de la balise code l’expiration comme un nombre entier de millisecondes écoulées depuis le début de 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
Pour vous assurer que les données sont supprimées du système après une période spécifiée, planifiez une expiration pour un jeu de données spécifique en fournissant l’identifiant du jeu de données ainsi que la date et l’heure d’expiration au format ISO 8601.
Pour créer une expiration de jeu de données, effectuez une requête de POST comme illustré ci-dessous et fournissez les valeurs mentionnées ci-dessous dans la payload.
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 `Accept: application/json`
-d {
"datasetId": "5b020a27e7040801dedbf46e",
"expiry": "2030-12-31T23:59:59Z"
"displayName": "Delete Acme Data before 2025",
"description": "The Acme information in this dataset is licensed for our use through the end of 2024."
}
datasetId
expiry
Obligatoire Date et heure au format ISO 8601. Si la chaîne n’a pas de décalage de fuseau horaire explicite, le fuseau horaire est supposé être UTC. La durée de vie des données du système est définie en fonction de la valeur d’expiration fournie.
Remarque :
- La requête échoue si une expiration de jeu de données existe déjà pour le jeu de données.
- Cette date et cette heure doivent être au moins 24 heures dans le futur.
displayName
description
Réponse
Une réponse réussie renvoie un état HTTP 201 (Created) et le nouvel état de l’expiration du jeu de données.
{
"ttlId": "SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f",
"datasetId": "5b020a27e7040801dedbf46e",
"datasetName": "Acme licensed data",
"sandboxName": "prod",
"imsOrg": "{ORG_ID}",
"status": "pending",
"expiry": "2030-12-31T23:59:59Z",
"updatedAt": "2021-08-19T11:14:16Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e",
"displayName": "Delete Acme Data before 2031",
"description": "The Acme information in this dataset is licensed for our use through the end of 2030."
}
ttlId
datasetId
datasetName
sandboxName
imsOrg
status
expiry
updatedAt
updatedBy
displayName
description
Un état HTTP 400 (Bad Request) se produit si une expiration de jeu de données existe déjà pour le jeu de données. Une réponse manquée renvoie un état HTTP 404 (Introuvable) si aucune expiration de ce jeu de données n’existe (ou si vous n’avez pas accès au jeu de données).
Mettre à jour l’expiration d’un jeu de données update
Pour mettre à jour une date d’expiration pour un jeu de données, utilisez une requête de PUT et le ttlId
. Vous pouvez mettre à jour les informations displayName
, description
et/ou expiry
.
Format d’API
PUT /ttl/{DATASET_EXPIRATION_ID}
{DATASET_EXPIRATION_ID}
ttlId
dans la réponse.Requête
La requête suivante replanifie l’expiration d’un jeu de données SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f
à la fin de l’année 2024 (Heure moyenne de Greenwich). Si l’expiration du jeu de données existant est trouvée, cette expiration est mise à jour avec la nouvelle valeur expiry
.
curl -X PUT \
https://platform.adobe.io/data/core/hygiene/ttl/SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f \
-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 '{
"expiry": "2024-12-31T23:59:59Z",
"displayName": "Delete Acme Data before 2025",
"description": "The Acme information in this dataset is licensed for our use through the end of 2024."
}'
expiry
displayName
description
Réponse
Une réponse réussie renvoie le nouvel état de l’expiration du jeu de données et un état HTTP 200 (OK) si une expiration préexistante a été mise à jour.
{
"ttlId": "SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f",
"datasetId": "5b020a27e7040801dedbf46e",
"imsOrg": "A2A5*EF06164773A8A49418C@AdobeOrg",
"status": "pending",
"expiry": "2024-12-31T23:59:59Z",
"updatedAt": "2022-05-09T22:38:40.393115Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e",
"displayName": "Delete Acme Data before 2025",
"description": "The Acme information in this dataset is licensed for our use through the end of 2024."
}
ttlId
datasetId
imsOrg
status
expiry
updatedAt
updatedBy
Une réponse manquée renvoie un état HTTP 404 (Introuvable) si aucune expiration de ce jeu de données n’existe.
Annuler l’expiration d’un jeu de données delete
Vous pouvez annuler l’expiration d’un jeu de données par le biais d’une requête DELETE.
pending
peuvent être annulées. La tentative d’annulation d’une expiration qui a été exécutée ou est déjà annulée renvoie une erreur HTTP 404.Format d’API
DELETE /ttl/{EXPIRATION_ID}
{EXPIRATION_ID}
ttlId
de l’expiration du jeu de données que vous souhaitez annuler.Requête
La requête suivante annule l’expiration d’un jeu de données avec l’identifiant SD-b16c8b48-a15a-45c8-9215-587ea89369bf
:
curl -X DELETE \
https://platform.adobe.io/data/core/hygiene/ttl/SD-b16c8b48-a15a-45c8-9215-587ea89369bf \
-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 un statut HTTP 204 (No Content), et l’attribut status
de l’expiration est défini sur 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 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 mis à jour le plus récemment l’expiration du jeu de données. Si aucune mise à jour n’a été effectuée depuis sa création, celle-ci correspond au créateur d’origine de l’expiration. Ce paramètre correspond aux expirations où 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-le pour classer les données en fonction d’un ou de plusieurs champs, soit par ordre croissant (ASC), soit par ordre décroissant (DESC). Utilisez le préfixe + ou - pour désigner 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 où la chaîne spécifiée correspond exactement à l’ID d’expiration ou est contenu 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