Umstellung auf das Geschäftsglossar in Dataplex Universal Catalog

In diesem Dokument finden Sie eine Anleitung für die einstufige Migration von der Vorschauversion des Geschäftsglossars, in der Data Catalog-Metadaten unterstützt wurden, zur allgemein verfügbaren Version des Geschäftsglossars in Dataplex Universal Catalog. Wenn Sie zur allgemein verfügbaren Version migrieren, können Sie die erweiterten Funktionen und die tiefere Integration mit Dataplex Universal Catalog-Metadaten nutzen. Das bietet eine verbesserte Stabilität, neue Funktionen und vollständigen Produktionssupport. Bei diesem Vorgang werden Ihre Glossare automatisch aktualisiert, um Dataplex Universal Catalog-Metadaten zu unterstützen.

Hinweise

  1. Installieren Sie gcloud oder Python-Pakete. Authentifizieren Sie Ihr Nutzerkonto und die Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC), die von den Python-Bibliotheken verwendet werden. Führen Sie die folgenden Befehle aus und folgen Sie den browserbasierten Aufforderungen:

    gcloud init
    gcloud auth login
    gcloud auth application-default login
    
  2. Aktivieren Sie folgende APIs:

  3. Erstellen Sie einen oder mehrere Cloud Storage-Buckets in einem Ihrer Projekte. Die Buckets werden als temporärer Speicherort für die Importdateien verwendet. Je mehr Buckets Sie angeben, desto schneller erfolgt der Import. Weisen Sie dem Dienstkonto, mit dem die Migration ausgeführt wird, die IAM-Rolle „Storage-Administrator“ zu:

    service-MIGRATION_PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com

    Ersetzen Sie MIGRATION_PROJECT_ID durch das Projekt, aus dem Sie die Glossare migrieren.

  4. Repository einrichten:

    1. Klonen Sie das Repository:

      git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
      cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
      
    2. Installieren Sie die erforderlichen Pakete:

      pip3 install -r requirements.txt
      cd migration
      

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Migrieren von Glossaren aus Data Catalog in den Dataplex Universal Catalog benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Migrieren von Glossaren aus Data Catalog in den Dataplex Universal Catalog erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Glossare von Data Catalog zu Dataplex Universal Catalog zu migrieren:

  • datacatalog.glossaries.get für das Projekt, aus dem Sie Glossare migrieren
  • datacatalog.glossaries.list für das Projekt, aus dem Sie Glossare migrieren
  • dataplex.glossaries.create für das Projekt, in dem Glossare in Dataplex Universal Catalog erstellt werden
  • dataplex.glossaries.update für das Projekt, in dem Glossare in Dataplex Universal Catalog aktualisiert werden

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen zu Dataplex Universal Catalog Identity and Access Management (IAM) finden Sie unter Zugriffssteuerung mit IAM.

Migrationsskript ausführen

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2

Ersetzen Sie Folgendes:

  • USER_PROJECT_ID: die Projekt-ID des Projekts, das migriert werden soll.

    MIGRATION_PROJECT_ID bezieht sich auf das Quellprojekt mit Data Catalog-Glossaren, die Sie exportieren möchten. USER_PROJECT_ID ist das Projekt, das für die Abrechnung und Kontingentzuordnung für die vom Skript generierten API-Aufrufe verwendet wird.

  • BUCKET1 und BUCKET2: Die Cloud Storage-Bucket-IDs, die für den Import verwendet werden sollen.

    Sie können einen oder mehrere Buckets angeben. Geben Sie für die Bucket-Argumente eine kommagetrennte Liste mit Bucket-Namen ohne Leerzeichen an (z. B. --buckets=bucket-one,bucket-two). Eine 1:1-Zuordnung zwischen Buckets und Glossaren ist nicht erforderlich. Die Importjobs werden parallel ausgeführt, was die Migration beschleunigt.

Wenn Berechtigungsprobleme verhindern, dass das Script Ihre Organisations-IDs automatisch erkennt, verwenden Sie das Flag --orgIds, um die Organisationen anzugeben, die das Script verwenden kann, um nach Daten-Assets zu suchen, die mit Glossarbegriffen verknüpft sind.

Glossare im Migrationsbereich

Wenn Sie nur bestimmte Glossare migrieren möchten, definieren Sie ihren Umfang, indem Sie die entsprechenden URLs angeben.

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"

Ersetzen Sie GLOSSARY_URL1 (und GLOSSARY_URL2) durch die URLs der Glossare, die Sie migrieren. Sie können eine oder mehrere Glossar-URLs angeben.

Während der Migration kann die Anzahl der Importjobs geringer sein als die Anzahl der exportierten Glossare. Das passiert, wenn leere Glossare, für die kein Hintergrundimportjob erforderlich ist, direkt erstellt werden.

Migration bei Fehlern im Importjob fortsetzen

Das Vorhandensein von Dateien nach der Migration weist darauf hin, dass einige Importjobs fehlgeschlagen sind. Führen Sie den folgenden Befehl aus, um die Migration fortzusetzen:

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import

Wenn Fehler auftreten, führen Sie den Befehl resume noch einmal aus. Das Script verarbeitet nur Dateien, die nicht erfolgreich importiert und gelöscht wurden.

Das Skript erzwingt Abhängigkeitsprüfungen für Eintragslinks und Glossarlinks. Eine Eintragslinkdatei wird nur importiert, wenn das übergeordnete Glossar erfolgreich importiert wurde. Ebenso wird ein Link zwischen Begriffen nur importiert, wenn alle referenzierten Begriffe erfolgreich importiert wurden.

Fehlerbehebung

In diesem Abschnitt finden Sie Lösungen für häufige Fehler.

  • Berechtigung verweigert / Fehler 403: Prüfen Sie, ob der Nutzer oder das Dienstkonto die Rolle „Dataplex Universal Catalog Editor“ für das Zielprojekt und die Rolle „Data Catalog Viewer“ für das Quellprojekt hat.

  • ModuleNotFoundError: Achten Sie darauf, dass Sie Ihre virtuelle Python-Umgebung aktiviert und die erforderlichen Pakete mit pip3 install -r requirements.txt installiert haben.

  • TimeoutError / ssl.SSLError: Diese Fehler auf Netzwerkebene können durch Firewalls, Proxys oder langsame Verbindungen verursacht werden. Das Skript hat ein Zeitlimit von 5 Minuten. Bei anhaltenden Problemen müssen Sie möglicherweise Ihre lokale Netzwerkkonfiguration überprüfen.

  • Methode nicht gefunden (Einträge können nicht abgerufen werden): Dieser Fehler weist häufig darauf hin, dass Ihr Nutzerprojekt nicht auf der Zulassungsliste für den API-Aufruf steht. Dadurch können die erforderlichen Einträge nicht abgerufen werden.