Lernprogramm: Verwenden des Microsoft Purview Python SDK

Wichtig

Microsoft Purview Unified Catalog und klassische Microsoft Purview-Datengovernancefunktionen (früher Azure Purview) werden eingestellt. Microsoft konsolidiert seine Data Governance-Funktionen in Microsoft Fabric. Sie können keine neuen Konten mehr erstellen, und vorhandene Funktionen bleiben bis zum 12. November 2027 im Wartungsmodus. Zeitpläne für die Deaktivierung, Umstellungsleitfäden und empfohlene nächste Schritte finden Sie in der Ankündigung der Einstellung der Datengovernance von Microsoft Purview.

In diesem Lernprogramm werden Sie in die Verwendung des Microsoft Purview Python SDK eingeführt. Sie können das SDK verwenden, um alle gängigen Microsoft Purview-Vorgänge programmgesteuert auszuführen, anstatt dies über das Microsoft Purview-Governanceportal zu tun.

In diesem Tutorial erfahren Sie, wie Sie das SDK für Folgendes verwenden:

  • Erteilen Sie die erforderlichen Rechte zum programmgesteuerten Arbeiten mit Microsoft Purview
  • Registrieren eines Blob Storage-Containers als Datenquelle in Microsoft Purview
  • Definieren und Ausführen eines Scans
  • Katalog durchsuchen
  • Löschen einer Datenquelle

Voraussetzungen

Für dieses Tutorial benötigen Sie:

Wichtig

Für diese Skripts ist Ihr Endpunktwert unterschiedlich, je nachdem, welches Microsoft Purview-Portal Sie verwenden. Endpunkt für das klassische Microsoft Purview-Governanceportal: purview.azure.com/ Endpunkt für das neue Microsoft Purview-Portal: purview.microsoft.com/

Wenn Sie also das neue Portal verwenden, sieht Ihr Endpunktwert etwa so aus: "https://consotopurview.scan.purview.microsoft.com"

Erteilen des Microsoft Purview-Zugriffs auf das Speicherkonto

Bevor Sie den Inhalt des Speicherkontos überprüfen können, müssen Sie Microsoft Purview die richtige Rolle zuweisen.

  1. Wechseln Sie über das Azure-Portal zu Ihrem Speicherkonto.

  2. Wählen Sie Access Control (IAM) aus.

  3. Klicken Sie auf die Schaltfläche "Hinzufügen" und dann auf "Rollenzuweisung hinzufügen".

    Screenshot des Menüs

  4. Suchen Sie im nächsten Fenster nach der Rolle Speicherblobleser, und wählen Sie sie aus:

    Screenshot des Menüs

  5. Gehen Sie dann auf die Registerkarte Mitglieder, und wählen Sie Mitglieder auswählen aus:

    Screenshot des Menüs

  6. Auf der rechten Seite wird ein neuer Bereich angezeigt. Suchen Sie den Namen Ihrer vorhandenen Microsoft Purview-instance, und wählen Sie ihn aus.

  7. Sie können dann Überprüfen + Zuweisen auswählen.

Microsoft Purview verfügt jetzt über das erforderliche Leserecht, um Ihren Blob Storage zu überprüfen.

Gewähren Sie Ihrer Anwendung Zugriff auf Ihr Microsoft Purview-Konto.

  1. Zunächst benötigen Sie die Client-ID, die Mandanten-ID und den geheimen Clientschlüssel von Ihrem Dienstprinzipal. Um diese Informationen zu finden, wählen Sie Ihre Microsoft Entra ID aus.

  2. Wählen Sie dann "App-Registrierungen" aus.

  3. Wählen Sie Ihre Anwendung aus und suchen Sie die erforderlichen Informationen:

  4. Sie müssen nun Ihrem Dienstprinzipal die relevanten Microsoft Purview-Rollen zuweisen. Greifen Sie dazu auf Ihre Microsoft Purview-Instance zu. Wählen Sie "Microsoft Purview-Governanceportal öffnen" aus, oder öffnen Sie direkt das Governanceportal von Microsoft Purview, und wählen Sie die bereitgestellte Instance aus.

  5. Wählen Sie im Microsoft Purview-Governanceportal Datenzuordnung und dann Sammlungen aus:

    Screenshot des linken Menüs des Microsoft Purview-Governanceportals. Die Registerkarte

  6. Wählen Sie die Sammlung aus, mit der Sie arbeiten möchten, und wechseln Sie zur Registerkarte Rollenzuweisungen . Fügen Sie den Dienstprinzipal in den folgenden Rollen hinzu:

    • Sammlungsadministratoren
    • Datenquellenadministratoren
    • Datenkuratoren
    • Datenleser
  7. Wählen Sie für jede Rolle die Schaltfläche Rollenzuweisungen bearbeiten und dann die Rolle aus, der Sie den Dienstprinzipal hinzufügen möchten. Oder wählen Sie neben jeder Rolle die Schaltfläche "Hinzufügen " aus, und fügen Sie den Dienstprinzipal hinzu, indem Sie seinen Namen oder seine Client-ID wie unten gezeigt durchsuchen:

    Screenshot des Menüs

Installieren Sie die Python-Pakete

  1. Öffnen Sie eine neue Eingabeaufforderung oder ein neues Terminal
  2. Installieren Sie das Azure-Identitätspaket für die Authentifizierung:
    pip install azure-identity
    
  3. Installieren Sie das Microsoft Purview Scanning Client-Paket:
    pip install azure-purview-scanning
    
  4. Installieren Sie das Microsoft Purview-Verwaltungsclient-Paket:
    pip install azure-purview-administration
    
  5. Installieren Sie das Microsoft Purview-Client-Paket:
    pip install azure-purview-catalog
    
  6. Installieren Sie das Microsoft Purview-Konto-Paket:
    pip install azure-purview-account
    
  7. Installieren Sie das Azure Core-Paket:
    pip install azure-core
    

Python-Skriptdatei erstellen

Erstellen Sie eine Nur-Text-Datei und speichern Sie sie als Python-Skript mit dem Suffix .py. Beispiel: tutorial.py.

Instanziieren eines Scan-, Katalog- und Verwaltungsclients

In diesem Abschnitt erfahren Sie, wie Sie Folgendes instanziieren:

  • Ein Scanclient, der nützlich ist, um Datenquellen zu registrieren, Scanregeln zu erstellen und zu verwalten, einen Scan auszulösen usw.
  • Ein Katalogclient, der nützlich ist, um mit dem Katalog zu interagieren, indem er die ermittelten Ressourcen durchsucht, die Vertraulichkeit Ihrer Daten identifiziert usw.
  • Ein Verwaltungsclient ist nützlich für die Interaktion mit der Microsoft Purview Data Map selbst, für Vorgänge wie das Auflisten von Sammlungen.

Zuerst müssen Sie sich bei Ihrer Microsoft Entra ID authentifizieren. Hierfür verwenden Sie den von Ihnen erstellten geheimen Clientschlüssel.

  1. Beginnen Sie mit den erforderlichen Importanweisungen: unsere drei Clients, die Anmeldeinformationserklärung und eine Erklärung für Azure-Ausnahmen.

    from azure.purview.scanning import PurviewScanningClient
    from azure.purview.catalog import PurviewCatalogClient
    from azure.purview.administration.account import PurviewAccountClient
    from azure.identity import ClientSecretCredential 
    from azure.core.exceptions import HttpResponseError
    
  2. Geben Sie die folgenden Informationen im Code an:

    • Client-ID (oder Anwendungs-ID)
    • Mandanten-ID (oder Verzeichnis-ID)
    • Geheimer Clientschlüssel
    client_id = "<your client id>" 
    client_secret = "<your client secret>"
    tenant_id = "<your tenant id>"
    
  3. Geben Sie Ihren Endpunkt an:

    Wichtig

    Ihr Endpunktwert unterscheidet sich je nachdem, welches Microsoft Purview-Portal Sie verwenden. Endpunkt für das klassische Microsoft Purview-Governanceportal: https://{your_purview_account_name}.purview.azure.com/ Endpunkt für das neue Microsoft Purview-Portal: https://api.purview-service.microsoft.com

    Scanendpunkt für das klassische Microsoft Purview-Governanceportal: https://{your_purview_account_name}.scan.purview.azure.com/ Endpunkt für das neue Microsoft Purview-Portal: https://api.scan.purview-service.microsoft.com

    purview_endpoint = "<endpoint>"
    
    purview_scan_endpoint = "<scan endpoint>"
    
  4. Sie können nun die drei Clients instanziieren:

    def get_credentials():
        credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
        return credentials
    
    def get_purview_client():
        credentials = get_credentials()
        client = PurviewScanningClient(endpoint=purview_scan_endpoint, credential=credentials, logging_enable=True)  
        return client
    
    def get_catalog_client():
        credentials = get_credentials()
        client = PurviewCatalogClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
        return client
    
    def get_admin_client():
        credentials = get_credentials()
        client = PurviewAccountClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
        return client
    

Viele unserer Skripts beginnen mit denselben Schritten, da diese Clients für die Interaktion mit dem Konto erforderlich sind.

Registrieren einer Datenquelle

In diesem Abschnitt registrieren Sie Ihren Blob Storage.

  1. Wie im vorherigen Abschnitt besprochen, importieren Sie zunächst die Clients, die Sie für den Zugriff auf Ihr Microsoft Purview-Konto benötigen. Importieren Sie außerdem das Azure-Fehlerantwortpaket, damit Sie Probleme beheben können, und ClientSecretCredential, um Ihre Azure-Anmeldeinformationen zu erstellen.

    from azure.purview.administration.account import PurviewAccountClient
    from azure.purview.scanning import PurviewScanningClient
    from azure.core.exceptions import HttpResponseError
    from azure.identity import ClientSecretCredential
    
  2. Ermitteln Sie die Ressourcen-ID für Ihr Speicherkonto, indem Sie dieser Anleitung folgen: Abrufen der Ressourcen-ID für ein Speicherkonto.

  3. Definieren Sie dann in Ihrer Python-Datei die folgenden Informationen, um den Blob Storage programmgesteuert registrieren zu können:

    storage_name = "<name of your Storage Account>"
    storage_id = "<id of your Storage Account>"
    rg_name = "<name of your resource group>"
    rg_location = "<location of your resource group>"
    reference_name_purview = "<name of your Microsoft Purview account>"
    
  4. Geben Sie den Namen der Sammlung an, in der Sie Ihren Blobspeicher registrieren möchten. (Es sollte sich um dieselbe Sammlung handeln, in der Sie zuvor Berechtigungen angewendet haben. Wenn dies nicht der Fall ist, wenden Sie zuerst Berechtigungen auf diese Sammlung an.) Wenn es sich um die Stammsammlung handelt, verwenden Sie denselben Namen wie Ihre Microsoft Purview-Instance.

    collection_name = "<name of your collection>"
    
  5. Erstellen Sie eine Funktion zum Erstellen der Anmeldeinformationen für den Zugriff auf Ihr Microsoft Purview-Konto:

    client_id = "<your client id>" 
    client_secret = "<your client secret>"
    tenant_id = "<your tenant id>"
    
    
    def get_credentials():
         credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
         return credentials
    
  6. Alle Sammlungen in der Microsoft Purview Data Map haben einen Anzeigenamen und einen Namen.

    • Der Anzeigename ist der Name, der in der Sammlung angezeigt wird. Beispiel: Vertrieb.
    • Der Name für alle Sammlungen (mit Ausnahme der Stammsammlung) ist ein sechsstelliger Name, der von der Datenzuordnung zugewiesen wird.

    Python benötigt diesen sechsstelligen Namen, um auf Untersammlungen zu verweisen. Fügen Sie diesen Codeblock hinzu, um Ihren Anzeigenamen automatisch in den in Ihrem Skript benötigten sechsstelligen Auflistungsnamen zu konvertieren:

    Wichtig

    Ihr Endpunktwert unterscheidet sich je nachdem, welches Microsoft Purview-Portal Sie verwenden. Endpunkt für das klassische Microsoft Purview-Governanceportal: purview.azure.com/ Endpunkt für das neue Microsoft Purview-Portal: purview.microsoft.com/

    Wenn Sie also das neue Portal verwenden, sieht Ihr Endpunktwert etwa so aus: "https://consotopurview.scan.purview.microsoft.com"

    def get_admin_client():
         credentials = get_credentials()
         client = PurviewAccountClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
         return client
    
    try:
      admin_client = get_admin_client()
    except ValueError as e:
        print(e)
    
    collection_list = client.collections.list_collections()
     for collection in collection_list:
      if collection["friendlyName"].lower() == collection_name.lower():
          collection_name = collection["name"]
    
  7. Für beide Clients und abhängig von den Vorgängen müssen Sie auch einen Eingabetext angeben. Zum Registrieren einer Quelle müssen Sie einen Eingabetext für die Datenquellenregistrierung bereitstellen:

    ds_name = "<friendly name for your data source>"
    
    body_input = {
            "kind": "AzureStorage",
            "properties": {
                "endpoint": f"https://{storage_name}.blob.core.windows.net/",
                "resourceGroup": rg_name,
                "location": rg_location,
                "resourceName": storage_name,
                "resourceId": storage_id,
                "collection": {
                    "type": "CollectionReference",
                    "referenceName": collection_name
                },
                "dataUseGovernance": "Disabled"
            }
    }    
    
  8. Jetzt können Sie Ihre Microsoft Purview-Clients aufrufen und die Datenquelle registrieren.

    Wichtig

    Ihr Endpunktwert unterscheidet sich je nachdem, welches Microsoft Purview-Portal Sie verwenden. Endpunkt für das klassische Microsoft Purview-Governanceportal: https://{your_purview_account_name}.purview.azure.com/ Endpunkt für das neue Microsoft Purview-Portal: https://api.purview-service.microsoft.com

    Wenn Sie das klassische Portal verwenden, lautet Ihr Endpunktwert wie folgt: https://{your_purview_account_name}.scan.purview.azure.com Wenn Sie das neue Portal verwenden, lautet Ihr Endpunktwert wie folgt: https://scan.api.purview-service.microsoft.com

    def get_purview_client():
         credentials = get_credentials()
         client = PurviewScanningClient(endpoint={{ENDPOINT}}, credential=credentials, logging_enable=True)  
         return client
    
    try:
        client = get_purview_client()
    except ValueError as e:
        print(e)
    
    try:
        response = client.data_sources.create_or_update(ds_name, body=body_input)
        print(response)
        print(f"Data source {ds_name} successfully created or updated")
    except HttpResponseError as e:
        print(e)
    

Wenn der Registrierungsprozess erfolgreich ist, können Sie eine angereicherte Textantwort des Clients sehen.

In den folgenden Abschnitten scannen Sie die registrierte Datenquelle und durchsuchen den Katalog. Jedes dieser Skripte ist ähnlich strukturiert wie dieses Registrierungsskript.

Vollständiger Code

from azure.purview.scanning import PurviewScanningClient
from azure.identity import ClientSecretCredential 
from azure.core.exceptions import HttpResponseError
from azure.purview.administration.account import PurviewAccountClient

client_id = "<your client id>" 
client_secret = "<your client secret>"
tenant_id = "<your tenant id>"
purview_endpoint = "<endpoint>"
purview_scan_endpoint = "<scan endpoint>"
storage_name = "<name of your Storage Account>"
storage_id = "<id of your Storage Account>"
rg_name = "<name of your resource group>"
rg_location = "<location of your resource group>"
collection_name = "<name of your collection>"
ds_name = "<friendly data source name>"

def get_credentials():
	credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
	return credentials

def get_purview_client():
	credentials = get_credentials()
	client = PurviewScanningClient(endpoint=purview_scan_endpoint, credential=credentials, logging_enable=True)  
	return client

def get_admin_client():
	credentials = get_credentials()
	client = PurviewAccountClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
	return client

try:
	admin_client = get_admin_client()
except ValueError as e:
        print(e)

collection_list = admin_client.collections.list_collections()
for collection in collection_list:
	if collection["friendlyName"].lower() == collection_name.lower():
		collection_name = collection["name"]


body_input = {
	"kind": "AzureStorage",
	"properties": {
		"endpoint": f"https://{storage_name}.blob.core.windows.net/",
		"resourceGroup": rg_name,
		"location": rg_location,
		"resourceName": storage_name,
 		"resourceId": storage_id,
		"collection": {
			"type": "CollectionReference",
			"referenceName": collection_name
		},
		"dataUseGovernance": "Disabled"
	}
}

try:
	client = get_purview_client()
except ValueError as e:
        print(e)

try:
	response = client.data_sources.create_or_update(ds_name, body=body_input)
	print(response)
	print(f"Data source {ds_name} successfully created or updated")
except HttpResponseError as e:
    print(e)

Überprüfen der Datenquelle

Das Scannen einer Datenquelle kann in zwei Schritten erfolgen:

  1. Erstellen einer Scandefinition
  2. Auslösen einer Überprüfungsausführung

In diesem Tutorial verwenden Sie die Standardüberprüfungsregeln für Blob Storage-Container. Sie können jedoch benutzerdefinierte Überprüfungsregeln auch programmgesteuert mit dem Microsoft Purview-Scanclient erstellen.

Überprüfen Sie nun die Datenquelle, die Sie oben registriert haben.

  1. Fügen Sie eine Importanweisung hinzu, um einen eindeutigen Bezeichner zu generieren, rufen Sie den Microsoft Purview-Scanclient, den Microsoft Purview-Verwaltungsclient, das Azure-Fehlerantwortpaket zur Problembehandlung und die Anmeldeinformationen für den geheimen Clientschlüssel auf, um Ihre Azure-Anmeldeinformationen zu erfassen.

    import uuid
    from azure.purview.scanning import PurviewScanningClient
    from azure.purview.administration.account import PurviewAccountClient
    from azure.core.exceptions import HttpResponseError
    from azure.identity import ClientSecretCredential 
    
  2. Erstellen Sie einen Scanclient mit Ihren Anmeldeinformationen:

    client_id = "<your client id>" 
    client_secret = "<your client secret>"
    tenant_id = "<your tenant id>"
    
    def get_credentials():
         credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
         return credentials
    
    def get_purview_client():
         credentials = get_credentials()
         client = PurviewScanningClient(endpoint=f"https://{reference_name_purview}.scan.purview.azure.com", credential=credentials, logging_enable=True)  
         return client
    
    try:
         client = get_purview_client()
    except ValueError as e:
         print(e)
    
  3. Fügen Sie den Code hinzu, um den internen Namen Ihrer Sammlung zu erfassen. (Weitere Informationen finden Sie im vorherigen Abschnitt):

    collection_name = "<name of the collection where you will be creating the scan>"
    
    def get_admin_client():
         credentials = get_credentials()
         client = PurviewAccountClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
         return client
    
    try:
        admin_client = get_admin_client()
    except ValueError as e:
        print(e)
    
    collection_list = client.collections.list_collections()
     for collection in collection_list:
      if collection["friendlyName"].lower() == collection_name.lower():
          collection_name = collection["name"]
    
  4. Erstellen Sie dann eine Scandefinition:

    ds_name = "<name of your registered data source>"
    scan_name = "<name of the scan you want to define>"
    reference_name_purview = "<name of your Microsoft Purview account>"
    
    body_input = {
            "kind":"AzureStorageMsi",
            "properties": { 
                "scanRulesetName": "AzureStorage", 
                "scanRulesetType": "System", #We use the default scan rule set 
                "collection": 
                    {
                        "referenceName": collection_name,
                        "type": "CollectionReference"
                    }
            }
    }
    
    try:
        response = client.scans.create_or_update(data_source_name=ds_name, scan_name=scan_name, body=body_input)
        print(response)
        print(f"Scan {scan_name} successfully created or updated")
    except HttpResponseError as e:
        print(e)
    
  5. Nachdem der Scan definiert ist, können Sie einen Scanlauf mit einer eindeutigen ID auslösen:

    run_id = uuid.uuid4() #unique id of the new scan
    
    try:
        response = client.scan_result.run_scan(data_source_name=ds_name, scan_name=scan_name, run_id=run_id)
        print(response)
        print(f"Scan {scan_name} successfully started")
    except HttpResponseError as e:
        print(e)
    

Vollständiger Code

import uuid
from azure.purview.scanning import PurviewScanningClient
from azure.purview.administration.account import PurviewAccountClient
from azure.identity import ClientSecretCredential

ds_name = "<name of your registered data source>"
scan_name = "<name of the scan you want to define>"
reference_name_purview = "<name of your Microsoft Purview account>"
client_id = "<your client id>" 
client_secret = "<your client secret>"
tenant_id = "<your tenant id>"
collection_name = "<name of the collection where you will be creating the scan>"

def get_credentials():
	credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
	return credentials

def get_purview_client():
	credentials = get_credentials()
	client = PurviewScanningClient(endpoint=purview_scan_endpoint, credential=credentials, logging_enable=True)  
	return client

def get_admin_client():
	credentials = get_credentials()
	client = PurviewAccountClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
	return client

try:
	admin_client = get_admin_client()
except ValueError as e:
        print(e)

collection_list = admin_client.collections.list_collections()
for collection in collection_list:
	if collection["friendlyName"].lower() == collection_name.lower():
		collection_name = collection["name"]


try:
	client = get_purview_client()
except AzureError as e:
	print(e)

body_input = {
	"kind":"AzureStorageMsi",
	"properties": { 
		"scanRulesetName": "AzureStorage", 
		"scanRulesetType": "System",
		"collection": {
			"type": "CollectionReference",
			"referenceName": collection_name
		}
	}
}

try:
	response = client.scans.create_or_update(data_source_name=ds_name, scan_name=scan_name, body=body_input)
	print(response)
	print(f"Scan {scan_name} successfully created or updated")
except HttpResponseError as e:
	print(e)

run_id = uuid.uuid4() #unique id of the new scan

try:
	response = client.scan_result.run_scan(data_source_name=ds_name, scan_name=scan_name, run_id=run_id)
	print(response)
	print(f"Scan {scan_name} successfully started")
except HttpResponseError as e:
	print(e)

Katalog durchsuchen

Sobald eine Überprüfung abgeschlossen ist, sind Vermögenswerte wahrscheinlich entdeckt und sogar klassifiziert worden. Dieser Vorgang kann nach einer Überprüfung einige Zeit in Anspruch nehmen, daher müssen Sie möglicherweise warten, bevor Sie diesen nächsten Codeabschnitt ausführen. Warten Sie, bis die Überprüfung abgeschlossen ist und die Ressourcen im Microsoft Purview Unified Catalog angezeigt werden.

Sobald die Ressourcen bereit sind, können Sie den Microsoft Purview-Katalogclient verwenden, um den gesamten Katalog zu durchsuchen.

  1. Diesmal müssen Sie den Katalogclient anstelle des Scanclients importieren. Schließen Sie auch den HTTPResponse-Fehler und ClientSecretCredential ein.

    from azure.purview.catalog import PurviewCatalogClient
    from azure.identity import ClientSecretCredential 
    from azure.core.exceptions import HttpResponseError
    
  2. Erstellen Sie eine Funktion zum Abrufen der Anmeldeinformationen für den Zugriff auf Ihr Microsoft Purview-Konto, und instanziieren Sie den Katalogclient.

    client_id = "<your client id>" 
    client_secret = "<your client secret>"
    tenant_id = "<your tenant id>"
    reference_name_purview = "<name of your Microsoft Purview account>"
    
    def get_credentials():
         credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
         return credentials
    
    def get_catalog_client():
        credentials = get_credentials()
        client = PurviewCatalogClient(endpoint=f"https://{reference_name_purview}.scan.purview.azure.com", credential=credentials, logging_enable=True)
        return client
    
    try:
        client_catalog = get_catalog_client()
    except ValueError as e:
        print(e)  
    
  3. Konfigurieren Sie Ihre Suchkriterien und Schlüsselwörter im Eingabetext:

    keywords = "keywords you want to search"
    
    body_input={
        "keywords": keywords
    }
    

    Hier geben Sie nur Schlüsselwörter an, aber denken Sie daran, dass Sie viele andere Felder hinzufügen können, um Ihre Abfrage weiter zu spezifizieren.

  4. Durchsuchen Sie den Katalog:

    try:
        response = client_catalog.discovery.query(search_request=body_input)
        print(response)
    except HttpResponseError as e:
        print(e)
    

Vollständiger Code

from azure.purview.catalog import PurviewCatalogClient
from azure.identity import ClientSecretCredential 
from azure.core.exceptions import HttpResponseError

client_id = "<your client id>" 
client_secret = "<your client secret>"
tenant_id = "<your tenant id>"
reference_name_purview = "<name of your Microsoft Purview account>"
keywords = "<keywords you want to search for>"

def get_credentials():
	credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
	return credentials

def get_catalog_client():
	credentials = get_credentials()
	client = PurviewCatalogClient(endpoint=purview_endpoint, credential=credentials, logging_enable=True)
	return client

body_input={
	"keywords": keywords
}

try:
	catalog_client = get_catalog_client()
except ValueError as e:
	print(e)

try:
	response = catalog_client.discovery.query(search_request=body_input)
	print(response)
except HttpResponseError as e:
	print(e)

Löschen einer Datenquelle

In diesem Abschnitt erfahren Sie, wie Sie die zuvor registrierte Datenquelle löschen. Dieser Vorgang ist ziemlich einfach und wird mit dem Scanclient durchgeführt.

  1. Importieren Sie den Überprüfungsclient . Schließen Sie auch den HTTPResponse-Fehler und ClientSecretCredential ein.

    from azure.purview.scanning import PurviewScanningClient
    from azure.identity import ClientSecretCredential 
    from azure.core.exceptions import HttpResponseError
    
  2. Erstellen Sie eine Funktion zum Abrufen der Anmeldeinformationen für den Zugriff auf Ihr Microsoft Purview-Konto, und instanziieren Sie den Scanclient.

    client_id = "<your client id>" 
    client_secret = "<your client secret>"
    tenant_id = "<your tenant id>"
    reference_name_purview = "<name of your Microsoft Purview account>"
    
    def get_credentials():
         credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
         return credentials
    
    def get_scanning_client():
        credentials = get_credentials()
        PurviewScanningClient(endpoint=f"https://{reference_name_purview}.scan.purview.azure.com", credential=credentials, logging_enable=True) 
        return client
    
    try:
        client_scanning = get_scanning_client()
    except ValueError as e:
        print(e)  
    
  3. Löschen Sie die Datenquelle:

        ds_name = "<name of the registered data source you want to delete>"
        try:
            response = client_scanning.data_sources.delete(ds_name)
            print(response)
            print(f"Data source {ds_name} successfully deleted")
        except HttpResponseError as e:
            print(e)
    

Vollständiger Code

from azure.purview.scanning import PurviewScanningClient
from azure.identity import ClientSecretCredential 
from azure.core.exceptions import HttpResponseError


client_id = "<your client id>" 
client_secret = "<your client secret>"
tenant_id = "<your tenant id>"
reference_name_purview = "<name of your Microsoft Purview account>"
ds_name = "<name of the registered data source you want to delete>"

def get_credentials():
	credentials = ClientSecretCredential(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
	return credentials

def get_scanning_client():
	credentials = get_credentials()
	client = PurviewScanningClient(endpoint=f"https://{reference_name_purview}.scan.purview.azure.com", credential=credentials, logging_enable=True) 
	return client

try:
	client_scanning = get_scanning_client()
except ValueError as e:
	print(e)  

try:
	response = client_scanning.data_sources.delete(ds_name)
	print(response)
	print(f"Data source {ds_name} successfully deleted")
except HttpResponseError as e:
	print(e)