Microsoft Purview: Erstellen einer benutzerdefinierten Herkunft mit den REST-APIs
Dieser Artikel enthält die Schritte zum Erstellen von Datenherkunftseinträgen mithilfe der REST-API im Microsoft Purview Data Catalog. In Szenarien, in denen die automatisch generierte Herkunft in Microsoft Purview unvollständig oder fehlt, kann die Herkunft entweder manuell im Microsoft Purview-Portal oder mithilfe der REST-APIs erstellt werden. Dieser Artikel konzentriert sich auf die Verwendung von REST-APIs, die bekannte Einschränkungen der manuellen Herkunft überwinden und weitere Optionen bieten können.
Hintergrund
Die Möglichkeit, die Herkunft zwischen Datasets anzuzeigen, ist eines der wichtigen Plattformfeatures von Microsoft Purview. Systeme wie Data Factory, Data Share und Power BI erfassen die Datenherkunft beim Verschieben. In bestimmten Situationen ist die automatisch generierte Herkunft von Microsoft Purview unvollständig oder fehlt für praktische Visualisierungs- und Unternehmensberichte. In diesen Szenarien wird die benutzerdefinierte Herkunftsberichterstellung von Apache Atlas-Hooks und der REST-API unterstützt.
Die Verwendung der REST-APIs zum Erstellen einer benutzerdefinierten Herkunft ermöglicht es Ihnen, einige der Einschränkungen der manuellen Herkunft zu überwinden, wie in den folgenden Artikeln beschrieben:
- Power BI-Herkunft in Microsoft Purview
- Benutzerhandbuch zur manuellen Herkunft von Microsoft Purview
- Herkunft : bekannte Einschränkungen
Im weiteren Verlauf dieses Artikels wird die Verwendung von Microsoft Purview-REST-APIs zum Erstellen und Melden benutzerdefinierter Herkunft in Microsoft Purview erläutert.
Voraussetzungen
- Eine schritt-für-Schritt-Anleitung zur Verwendung der Purview Python SDK-Pakete finden Sie unter Tutorial zum Purview Python SDK und Erkunden der REST-API von Purview mit Python.
- Eine schritt-für-Schritt-Anleitung zur Verwendung der Purview-REST-APIs finden Sie im Purview Python SDK-Tutorial.
Szenarien
Es gibt zwei Anwendungsfälle, in denen das Erstellen einer benutzerdefinierten Herkunft erforderlich wird:
A. Erstellen sie neue Entitäten, die erstellt wurden, und verknüpfen Sie sie mit der Herkunft.
A. Erstellen neuer Entitäten und Verknüpfen dieser Entitäten mit der Herkunft
Beispielsweise muss die Herkunft zwischen Entitäten A & B gemeldet werden, aber A & B ist derzeit nicht vorhanden.
Um die Entitäten A & B zu erstellen, rufen Sie die Microsoft Purview-REST-API auf: Entität – Massenerstellung oder -aktualisierung – REST-API
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)
Die API-Antwort "201 Created" gibt an, dass Entitäten erfolgreich erstellt wurden und ihre jeweiligen GUIDs im AUSGABE-JSON-Code enthalten sind.
Nachdem nun die Entitäten A & B erstellt wurden, wechseln Sie zu Schritt B, um die Entitäten in der Herkunftskette mithilfe derselben REST-API zu verknüpfen.
B. Verknüpfen vorhandener Entitäten oder Datenherkunft mit einer anderen vorhandenen Entität oder Herkunft
- Wenn die Anzahl der zu verknüpfenden Entitäten nicht zeit- oder ressourcenintensiv ist (z. B. weniger als 20 bis 30 Entitäten), können Sie die Herkunft manuell im Microsoft Purview-Portal verbinden. Befolgen Sie die Anleitung zur manuellen Herkunft , um Die Schritte zum manuellen Erstellen von Herkunftsverbindungen zu erhalten.
- Wenn Sie eine große Anzahl von Herkunftsverbindungen herstellen müssen, muss der Prozess automatisiert werden, oder wenn eine manuelle Herkunft über das Microsoft Purview-Portal nicht möglich ist, fahren Sie mit dem API-Prozess zum Verknüpfen und Erstellen benutzerdefinierter Herkunft fort.
JSON-Nutzlast für benutzerdefinierte Herkunft:
Führen Sie die REST-API POST /entity/bulkEntity - Bulk Create or Update - mithilfe der Nutzlast aus, wie dargestellt:
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)
Diese JSON-Nutzlast erstellt die benutzerdefinierte Herkunft. Es funktioniert für bereits vorhandene Ressourcen, deren GUIDs im JSON-Code "Eingaben" bereitgestellt werden. Beispiel: "guid": "24558fd8-9cdc-47de-9310-56a58108bab0" und "27163581-9aca-212a-782a-213612639 "e33c694a-2c4f-4cae-8c27-06f6f6f6f60000" bezieht sich auf die direktionale Ausgabe der Herkunft, bei der es sich um eine vorhandene Ressource handelte, die automatisch von Purview gescannt wurde. Wir haben gerade die Herkunft zwischen den beiden Ressourcen erstellt.
Hinweis
Wenn die Ressourcen noch nicht vorhanden sind, müssen Sie vor diesem Schritt die API zum Erstellen von Massenentitäten ausführen, um diese Entitäten vor dem Erstellen der Herkunftsbeziehung zu erstellen. Der Massenentitätserstellungsprozess mithilfe der POST/entity/bulk-API und des Python-Codeausschnitts wird in Schritt A beschrieben.
Szenarioergebnisse
Die API-Antwort "201 Created" gibt an, dass die Erstellung des Herkunftsdiagramms erfolgreich war und die erstellten GUIDs im AUSGABE-JSON-Code enthalten sind. Die Herkunft wird im Microsoft Purview-Portal angezeigt:
Szenario A: Benutzerdefinierte erstellte Herkunft aus Ressourcen, die über die API erstellt wurden:
Szenario B: Benutzerdefinierte erstellte Herkunft aus bereits vorhandenen Ressourcen, die über die API verknüpft sind.
Hinweis
Wenn die Herkunft aus bereits vorhandenen Entitäten erstellt wird, beachten Sie, dass das bereits vorhandene Herkunftsdiagramm intakt bleibt und die neue Verknüpfung erstellt und zusätzlich angezeigt wird.