Microsoft Purview - Créer une traçabilité personnalisée avec les API REST
Cet article décrit les étapes à suivre pour créer des entrées de traçabilité des données à l’aide de l’API REST dans le Catalogue de données Microsoft Purview. Dans les scénarios où la traçabilité générée automatiquement dans Microsoft Purview est incomplète ou manquante, la traçabilité peut être personnalisée soit manuellement dans le portail Microsoft Purview , soit à l’aide des API REST. Cet article se concentre sur l’utilisation d’API REST qui peuvent surmonter les limitations connues de traçabilité manuelle et fournir davantage d’options.
Arrière-plan
La possibilité d’afficher la traçabilité entre les jeux de données est l’une des fonctionnalités de plateforme importantes de Microsoft Purview. Des systèmes tels que Data Factory, Data Share et Power BI capturent la traçabilité des données à mesure qu’elles se déplacent. Dans certaines situations, la traçabilité générée automatiquement par Microsoft Purview est incomplète ou manquante à des fins pratiques de visualisation et de création de rapports d’entreprise. Dans ces scénarios, les rapports de traçabilité personnalisés sont pris en charge par les hooks Apache Atlas et l’API REST.
L’utilisation des API REST pour créer une traçabilité personnalisée vous permet de surmonter certaines des limitations de la traçabilité manuelle, comme décrit dans les articles suivants :
- Traçabilité Power BI dans Microsoft Purview
- Guide d’utilisation de la traçabilité manuelle Microsoft Purview
- Traçabilité : limitations connues
Le reste de cet article explique l’utilisation des API REST Microsoft Purview pour générer et signaler une traçabilité personnalisée sur Microsoft Purview.
Configuration requise
- Pour obtenir des instructions pas à pas sur l’utilisation des packages du Kit de développement logiciel (SDK) Python Purview, reportez-vous au Tutoriel du Kit de développement logiciel (SDK) Python Purview et à l’exploration de l’API REST de Purview avec Python.
- Pour obtenir des instructions pas à pas sur l’utilisation des API REST Purview, reportez-vous au Tutoriel du Kit de développement logiciel (SDK) Python Purview.
Scénarios
Il existe deux cas d’usage lorsque la création d’une traçabilité personnalisée devient nécessaire :
A. Créer des entités créées et les lier avec la traçabilité
B. Lier des entités ou une traçabilité existantes à une autre entité ou traçabilité existante
A. Créer des entités et les lier à la traçabilité
Par exemple, la traçabilité doit être signalée entre les entités A & B, mais A & B n’existe pas actuellement.
Pour créer les entités A & B, appelez l’API REST Microsoft Purview : Entité - Création ou mise à jour en bloc - API REST
POST https://{accountname}.purview.azure.com/datamap/api/atlas/v2/entity/bulk?api-version=2023-09-01
sample_entity_json = '{"entity": {"status": "ACTIVE","version": 0,"name": ENTITY_A"}.......{"entity": ........}}'
#Send POST JSON containing entities to be created
CreateOrUpdateEntitesUrl = 'https://<purview_account_name>.purview.azure.com/datamap/api/atlas/v2/entity/bulk'
EntitiesResponse = requests.post(CreateOrUpdateEntitesUrl, json = json.loads(sample_entity_json) ,headers=headers)
entitiesRes = json.loads(EntitiesResponse.text)
La réponse de l’API « 201 Created » indique que les entités ont été créées avec succès et que leurs GUID respectifs sont contenus dans le json de sortie.
Maintenant que les entités A & B sont créées, passez à l’étape B pour lier les entités de la chaîne de traçabilité à l’aide de la même API REST.
B. Lier des entités ou une traçabilité existantes à une autre entité ou traçabilité existante
- Si le nombre d’entités à lier ne nécessite pas de temps ou de ressources (par exemple, moins de 20 à 30 entités), vous pouvez connecter la traçabilité manuellement dans le portail Microsoft Purview. Suivez le guide de l’utilisateur de traçabilité manuelle pour connaître les étapes permettant de créer manuellement des connexions de traçabilité.
- Si vous avez un nombre élevé de connexions de traçabilité à établir, le processus doit être automatisé ou, si la traçabilité manuelle à l’aide du portail Microsoft Purview n’est pas possible, passez au processus d’API de liaison et de création de lignage personnalisé.
Charge utile JSON de traçabilité personnalisée :
Exécutez l’API POST /entity/bulkEntity - Bulk Create or Update - REST à l’aide de la charge utile comme illustré :
POST https://{accountname}.purview.azure.com/datamap/api/atlas/v2/entity/bulk?api-version=2023-09-01
sample_entity_json = '{
"entities": [
{
"status": "ACTIVE",
"version": 1,
"typeName": "Process",
"attributes": {
"inputs": [
{
"guid": "24558fd8-9cdc-47de-9310-56a58108bab0",
“guid”: “27163581-9aca-212a-782a-213612639abc”
}
],
"outputs": [
{
"guid": "e33c694a-2c4f-4cae-8c27-06f6f6f60000"
}
],
"qualifiedName": "cassandra://query",
"name": "query"
}
}
]
}'
#In this code snippet, we send the JSON as POST request containing the two GUIDs as input and "output" GUID as output. This creates lineage with 2 directional inputs and 1 directional output.
#Note: using the same API and SDK code you can create lineage with any number of inputs, any number of processes in between, any number of typedefs and any number of outputs.
#The API/SDK method is the most flexible and versatile menthod of creating lineage.
CreateLineageEntitesUrl = 'https://<purview_account_name>.purview.azure.com/datamap/api/atlas/v2/entity/bulk'
EntitiesResponse = requests.post(CreateLineageEntitesUrl, json = json.loads(sample_entity_json),headers=headers)
entitiesRes = json.loads(EntitiesResponse.text)
Cette charge utile JSON crée la traçabilité personnalisée. Il fonctionne pour les ressources déjà existantes dont les GUID sont fournis dans le JSON « entrées ». Par exemple « guid » : « 24558fd8-9cdc-47de-9310-56a58108bab0 » et « 27163581-9aca-212a-782a-213612639abc » fait référence à l’entrée directionnelle de la traçabilité et « guid » : « e33c694a-2c4f-4cae-8c27-06f6f6f60000 » fait référence à la sortie directionnelle de la traçabilité, qui était une ressource existante analysée automatiquement par Purview. Nous venons de créer la traçabilité entre les deux ressources.
Remarque
Si les ressources n’existent pas déjà, vous devez exécuter l’API de création d’entité en bloc avant cette étape pour créer ces entités avant de créer la relation de traçabilité. Le processus de création d’entité en bloc à l’aide de l’API POST /entity/bulk et de l’extrait de code Python est décrit à l’étape A.
Résultats du scénario
La réponse de l’API « 201 Créé » indique que la création d’une liaison de graphe de traçabilité a réussi et que les GUID créés sont contenus dans le JSON de sortie. La traçabilité s’affiche dans le portail Microsoft Purview :
Scénario A : Traçabilité personnalisée à partir de ressources créées via l’API :
Scénario B : Traçabilité personnalisée à partir de ressources préexistantes liées via l’API.
Remarque
Si la traçabilité est créée à partir d’entités préexistantes, notez que le graphe de traçabilité préexistant reste intact et que la nouvelle liaison est créée et affichée en outre.