Manuelle Umstellung auf das Geschäftsglossar in Knowledge Catalog

In diesem Dokument finden Sie eine Anleitung zur Migration von der Preview-Version des Unternehmensglossars, die Data Catalog-Metadaten unterstützt hat, zur allgemein verfügbaren Version des Unternehmensglossars, die Knowledge Catalog-Metadaten (ehemals Dataplex Universal Catalog) unterstützt. Der Migrationsprozess umfasst das Exportieren von Glossaren, Kategorien, Begriffen und Links aus Data Catalog und das anschließende Importieren in Knowledge Catalog.

So stellen Sie manuell auf das Unternehmensglossar in Knowledge Catalog um:

  1. Glossare und Eintragslinks aus Data Catalog exportieren.
  2. Glossare, Kategorien und Begriffe in Knowledge Catalog importieren.
  3. Links zwischen Begriffen in Knowledge Catalog importieren.
  4. Links zwischen Begriffen und Spalten in Knowledge Catalog importieren.

Hinweis

Wenn Sie den Export aus Glossaren in Data Catalog aktivieren möchten, registrieren Sie sich über das Registrierungsformular.

Installieren Sie gcloud oder Python-Pakete.

Erforderliche Rollen

Wenn Sie ein Glossar aus Data Catalog exportieren möchten, benötigen Sie die Rolle roles/datacatalog.glossaryOwner für die Projekte, in denen das Glossar vorhanden ist. Informationen zu den für diese Rolle erforderlichen Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataplex-Administrator (roles/dataplex.admin) für die Projekte zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Importieren des Unternehmensglossars in Knowledge Catalog benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Importieren des Unternehmensglossars in Knowledge Catalog erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um das Unternehmensglossar in Knowledge Catalog zu importieren:

  • dataplex.glossaries.import für die Glossarressource
  • dataplex.entryGroups.import für die Knowledge Catalog-Eintragsgruppe, die im Feld entry_groups angegeben ist, und für die Eintragsgruppen, in denen die Data Catalog-Einträge vorhanden sind, die mit den Glossarbegriffen verknüpft sind
  • dataplex.entryGroups.useSynonymEntryLink für die Knowledge Catalog-Eintragsgruppe, die im Feld entry_groups angegeben ist, und für die Eintragsgruppen, in denen die Data Catalog-Einträge vorhanden sind, die mit den Glossarbegriffen verknüpft sind
  • dataplex.entryGroups.useRelatedEntryLink für die Knowledge Catalog-Eintragsgruppe, die im Feld entry_groups angegeben ist, und für die Eintragsgruppen, in denen die Data Catalog-Einträge vorhanden sind, die mit den Glossarbegriffen verknüpft sind
  • dataplex.entryLinks.reference für alle Projekte, die im Feld referenced_entry_scopes angegeben sind

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

Glossare, Kategorien und Begriffe aus Data Catalog exportieren

Sie können jeweils nur ein Glossar exportieren.

  1. Klonen Sie das dataplex-labs Repository und wechseln Sie dann in das business-glossary-import Unterverzeichnis:

    git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
    cd dataplex-labs
    cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
    
  2. Rufen Sie Ihr Zugriffstoken ab:

    export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
    
  3. Führen Sie das Exportskript aus:

    python3 bg_import/business_glossary_export_v2.py \
    --project="PROJECT_ID" \
    --url="DATA_CATALOG_GLOSSARY_URL"

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das das Glossar enthält. Dieses Projekt wird auch für die Abrechnung und das Kontingent verwendet.
    • DATA_CATALOG_GLOSSARY_URL: die vollständige URL des Data Catalog-Unternehmensglossars, wie sie in der Google Cloud Konsole angezeigt wird.

    Beispiel: https://console.cloud.google.com/datacatalog/glossaries/projects/my-project/locations/us-central1/entryGroups/my-entry-group/glossaries/my-glossary

    Das Skript erstellt eine JSON-Datei im gleichen Format wie die Metadatenimportdatei, die für Metadatenimportjobs verwendet wird. Die Namen der Glossare, Kategorien und Begriffe haben die folgenden Formate:

    • Glossar: projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/{PROJECT_ID{"</var>"}}/locations/LOCATION_ID/glossaries/GLOSSARY_ID
    • Begriff: projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
    • Kategorie: projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID

    Die Werte für GLOSSARY_ID, CATEGORY_ID, TERM_ID, PROJECT_ID und LOCATION_ID sind dieselben wie im Data Catalog-Glossar.

Ergebnisse

Die folgende Liste enthält wichtige Informationen zu den Ergebnissen:

  • Die Glossare und ihre Kategorien und Begriffe werden an einem globalen Standort exportiert, sodass die Begriffe mit einem Eintrag in einer beliebigen Region verknüpft werden können.

  • Die exportierten Dateien befinden sich im Ordner Exported_Files in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. Der Name der Datei ist glossary_GLOSSARY_ID.json.

  • Mit dem Exportbefehl wird das Glossar automatisch in Knowledge Catalog mit derselben GLOSSARY_ID und PROJECT_ID am globalen Standort erstellt.

  • Das Skript erstellt eine JSON-Datei, die die Synonyme und zugehörigen Links zwischen Begriffen enthält. Die exportierten Dateien befinden sich im Ordner „Exported_Files“ in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. Der Name der Datei ist entrylinks_related_synonym_GLOSSARY_ID.json.

  • Die exportierten Links befinden sich im Ordner Exported_Files in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import.

  • Die Begriffe in einem Glossar können mit vielen Einträgen in vielen Eintragsgruppen verknüpft sein. Beim Exportieren von Links zwischen Begriffen und Spalten wird für jede entryGroup eine Datei erstellt. Das Format des Dateinamens ist: entrylinks_definition_export_GLOSSARY_ID_ENTRY_PROJECT_ID_ENTRY_LOCATION_ID_ENTRY_GROUP_ID.json.

  • Die Glossar-ID, die Sie zum Importieren von Glossaren, Kategorien und Begriffen benötigen, wird nach Ausführung des Exportskripts angezeigt.

Glossare, Kategorien und Begriffe importieren

Sie müssen die im vorherigen Schritt exportierten Knowledge Catalog-Glossare, -Kategorien und -Begriffe importieren. In diesem Abschnitt wird beschrieben, wie Sie den Import mit der Metadata Job API durchführen.

  1. Erstellen Sie einen Cloud Storage-Bucket und dann laden Sie die Datei in den Bucket hoch.

  2. Gewähren Sie dem Knowledge Catalog-Dienstkonto Lesezugriff auf den Cloud Storage-Bucket.

  3. Führen Sie einen Metadatenimportjob aus um das Glossar zu importieren.

    # Set GCURL alias
    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    # Import CURL Command
    gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs\?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF
    {
    "type":"IMPORT",
    "import_spec":{
        "log_level": "DEBUG",
        "source_storage_uri": "gs://STORAGE_BUCKET/",
        "entry_sync_mode": "FULL",
        "aspect_sync_mode": "INCREMENTAL",
        "scope": {
          "glossaries": ["projects/PROJECT_ID/locations/global/glossaries/GLOSSARY_ID"]
        }
    }
    }
    EOF
    )"

    Ersetzen Sie Folgendes:

    • JOB_ID: (optional) eine ID für den Metadatenimportjob, mit der Sie den Status des Jobs verfolgen können. Wenn Sie keine ID angeben, generiert der Befehl „gcurl“ eine eindeutige ID.
    • STORAGE_BUCKET: der URI des Cloud Storage-Buckets oder -Ordners, der die exportierte Glossardatei enthält.
    • PROJECT_ID: die Projektnummer, die das Glossar enthält.
  4. Optional: Mit der metadataJobs.get Methode können Sie den Status des Metadatenimportjobs verfolgen:

    gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs/JOB_ID

    Eventuelle Fehler im Metadatenimportjob werden in den Logs angezeigt.

Links zwischen Begriffen in Knowledge Catalog importieren

Sie müssen die im vorherigen Schritt exportierten Links zwischen Begriffen importieren. In diesem Abschnitt wird beschrieben, wie Sie den Import mit der Metadata Job API durchführen.

  1. Erstellen Sie einen neuen Cloud Storage-Bucket und laden Sie die exportierte Datei mit den Eintragslinks aus dem vorherigen Schritt in den Bucket hoch.

  2. Gewähren Sie dem Knowledge Catalog-Dienstkonto Lesezugriff auf den Cloud Storage-Bucket.

  3. Führen Sie einen Metadatenimportjob aus, um die Eintragslinks zu importieren:

    # Import CURL Command
    gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF
    {
    "type": "IMPORT",
    "import_spec": {
      "log_level": "DEBUG",
      "source_storage_uri": "gs://STORAGE_BUCKET/",
      "entry_sync_mode": "FULL",
      "aspect_sync_mode": "INCREMENTAL",
      "scope": {
        "entry_groups": ["projects/GLOSSARY_PROJECT_ID/locations/global/entryGroups/@dataplex"],
        "entry_link_types": [
          "projects/dataplex-types/locations/global/entryLinkTypes/synonym",
          "projects/dataplex-types/locations/global/entryLinkTypes/related"
        ],
        "referenced_entry_scopes": ["projects/GLOSSARY_PROJECT_ID","projects/LINKED_GLOSSARY_PROJECT_ID_1","projects/LINKED_GLOSSARY_PROJECT_ID_2"]
      }
    }
    }
    EOF
    )"

    Ersetzen Sie Folgendes:

    • GLOSSARY_PROJECT_ID: die ID des Projekts, das das Glossar enthält
    • Optional: LINKED_GLOSSARY_PROJECT_ID_1: Wenn Begriffe in verschiedenen Projekten über Glossare hinweg verknüpft sind, geben Sie die ID des Projekts an.
    • Optional: LINKED_GLOSSARY_PROJECT_ID_2: Wenn Begriffe in verschiedenen Projekten über Glossare hinweg verknüpft sind, geben Sie die ID des Projekts an.

    Wichtige Hinweise:

    • Das Objekt entry_groups enthält die Eintragsgruppe, in der die Eintragslinks erstellt werden. Dies ist die Systemeintragsgruppe @dataplex im selben Projekt und am selben Standort wie das Glossar.
    • Mit dem Objekt entry_link_types können Sie Synonyme, verwandte Begriffe oder beides importieren:

      • Synonyme: projects/dataplex-types/locations/global/entryLinkTypes/synonym
      • Verwandte Begriffe: projects/dataplex-types/locations/global/entryLinkTypes/related
    • Das Objekt referenced_entry_scopes enthält die Projekt-IDs von Eintragslinks, die Begriffe aus verschiedenen Glossaren verknüpfen.

Links zwischen Begriffen und Spalten importieren

Sie müssen die im vorherigen Schritt exportierten Links zwischen Begriffen und Spalten importieren. In diesem Abschnitt wird beschrieben, wie Sie den Import mit der Metadata Job API durchführen.

  1. Laden Sie jede im vorherigen Schritt exportierte Datei in einen Cloud Storage-Bucket hoch.

  2. Führen Sie für jede im Cloud Storage-Bucket hochgeladene Datei einen separaten Importbefehl aus. Jede Datei entspricht einer eindeutigen Eintragsgruppe mit Links zwischen Begriffen und Spalten dieser Eintragsgruppe.

gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF
{
"type": "IMPORT",
"import_spec": {
    "log_level": "DEBUG",
    "source_storage_uri": "gs://STORAGE_BUCKET/",
    "entry_sync_mode": "FULL",
    "aspect_sync_mode": "INCREMENTAL",
    "scope": {
        "entry_groups": ["projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/entryGroups/ENTRY_GROUP_ID"],
        "entry_link_types": ["projects/dataplex-types/locations/global/entryLinkTypes/definition"],
        "referenced_entry_scopes": ["projects/ENTRY_GROUP_PROJECT_ID", "projects/GLOSSARY_PROJECT_ID"]
    }
}
}
EOF
)"

Nächste Schritte