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 d’identités primaires via le point d’entrée de l’ordre de travail. Vous pouvez également gérer des expiration des jeux de données et suppression 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, veuillez consulter la section 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}
en-tête .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ée {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 GET avec l’une des options suivantes : {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 au moins être 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 la date d’expiration d’un jeu de données, utilisez une requête de PUT et le ttlId
. Vous pouvez mettre à jour la variable displayName
, description
, et/ou expiry
informations.
Format d’API
PUT /ttl/{DATASET_EXPIRATION_ID}
{DATASET_EXPIRATION_ID}
ttlId
dans la réponse.Requête
La requête suivante replanifie une expiration de jeu de données. SD-c8c75921-2416-4be7-9cfd-9ab01de66c5f
à fin 2024 (heure de Greenwich). Si l’expiration du jeu de données existant est trouvée, cette expiration est mise à jour avec le nouveau 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
.
Récupérer l’historique du statut d’expiration d’un jeu de données retrieve-expiration-history
Pour rechercher l’historique de l’état d’expiration d’un jeu de données spécifique, utilisez la variable {DATASET_ID}
et include=history
paramètre de requête dans une requête de recherche. Le résultat comprend des informations sur la création de l’expiration du jeu de données, les mises à jour qui ont été appliquées et son annulation ou son exécution (le cas échéant). Vous pouvez également utiliser la variable {DATASET_EXPIRATION_ID}
pour récupérer l’historique des états d’expiration du jeu de données.
Format d’API
GET /ttl/{DATASET_ID}?include=history
GET /ttl/{DATASET_EXPIRATION_ID}?include=history
{DATASET_ID}
{DATASET_EXPIRATION_ID}
ttlId
dans la réponse.Requête
curl -X GET \
https://platform.adobe.io/data/core/hygiene/ttl/62759f2ede9e601b63a2ee14?include=history \
-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, avec un tableau history
fournissant les détails des attributs status
, expiry
, updatedAt
et updatedBy
pour chacune des mises à jour enregistrées.
{
"ttlId": "SD-b16c8b48-a15a-45c8-9215-587ea89369bf",
"datasetId": "62759f2ede9e601b63a2ee14",
"datasetName": "Example Dataset",
"sandboxName": "prod",
"displayName": "Expiration Request 123",
"description": "Expiration Request 123 Description",
"imsOrg": "0FCC747E56F59C747F000101@AdobeOrg",
"status": "cancelled",
"expiry": "2022-05-09T23:47:30.071186Z",
"updatedAt": "2022-05-09T23:47:30.071186Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e",
"history": [
{
"status": "created",
"expiry": "2032-12-31T23:59:59Z",
"updatedAt": "2022-05-09T22:38:40.393115Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e"
},
{
"status": "updated",
"expiry": "2032-12-31T23:59:59Z",
"updatedAt": "2022-05-09T22:41:46.731002Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e"
},
{
"status": "cancelled",
"expiry": "2022-05-09T23:47:30.071186Z",
"updatedAt": "2022-05-09T23:47:30.071186Z",
"updatedBy": "Jane Doe <jdoe@adobe.com> 77A51F696282E48C0A494 012@64d18d6361fae88d49412d.e"
}
]
}
ttlId
datasetId
datasetName
sandboxName
displayName
description
imsOrg
history
status
, expiry
, updatedAt
et updatedBy
de l’expiration au moment de la mise à jour.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
Les paramètres contiennent tous la possibilité d’effectuer des recherches à l’aide de 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
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
cancelledDate
/ cancelledToDate
/ cancelledFromDate
updatedDate=2022-01-01
completedDate
/ completedToDate
/ completedFromDate
completedToDate=2021-11-11-06:00
createdDate
Notez que les dates sans heure (comme
2021-12-07
) représentent la date/heure au début de la journée. Ainsi, createdDate=2021-12-07
fait référence à l’ensemble des expirations créées le 7 décembre 2021, de 00:00:00
à 23:59:59.999999999
(UTC).createdDate=2021-12-07
createdFromDate
createdFromDate=2021-12-07T00:00:00Z
createdToDate
createdToDate=2021-12-07T23:59:59.999999999Z
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
/ expiryToDate
/ expiryFromDate
expiryFromDate=2099-01-01&expiryToDate=2100-01-01
limit
limit=50
orderBy
orderBy
Le paramètre de requête 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
/ updatedToDate
/ updatedFromDate
createdDate
/ createdFromDate
/ createdToDate
, mais correspond à l’heure de mise à jour de l’expiration d’un jeu de données plutôt qu’à l’heure de création.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