Umstellung auf das Geschäftsglossar in Dataplex Universal Catalog

In diesem Dokument finden Sie eine Anleitung zur Migration von der Preview-Version des Geschäftsglossars, in der Data Catalog-Metadaten unterstützt wurden, zur allgemein verfügbaren Version des Geschäftsglossars, in der Dataplex Universal Catalog-Metadaten unterstützt werden. Für die Umstellung müssen Sie Glossare, Kategorien, Begriffe und Links aus Data Catalog exportieren und dann in Dataplex Universal Catalog importieren.

So stellen Sie auf das Geschäftsglossar in Dataplex Universal Catalog um:

  1. Glossare, Kategorien und Begriffe aus Data Catalog exportieren
  2. Glossare, Kategorien und Begriffe in Dataplex Universal Catalog importieren
  3. Links zwischen Begriffen aus Data Catalog exportieren.
  4. Importieren Sie Links zwischen Begriffen in Dataplex Universal Catalog.
  5. Links zwischen Begriffen und Spalten aus Data Catalog exportieren
  6. Importieren Sie Links zwischen Begriffen und Spalten in Dataplex Universal Catalog.

Erforderliche Rollen

Um ein Glossar aus Data Catalog zu exportieren, benötigen Sie die Rolle roles/datacatalog.glossaryOwner für die Projekte, in denen das Glossar vorhanden ist. Erforderliche Berechtigungen für diese Rolle

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 Geschäftsglossars in Dataplex Universal 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 eines Geschäftsglossars in Dataplex Universal Catalog erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um ein Geschäftsglossar in Dataplex Universal Catalog zu importieren:

  • dataplex.glossaries.import für die Glossarressource
  • dataplex.entryGroups.import für die Dataplex Universal 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 Dataplex Universal 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 Dataplex Universal Catalog-Eintragsgruppe, die im Feldentry_groupsangegeben 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 im Feld referenced_entry_scopes

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

Glossare, Kategorien und Begriffe aus dem Data Catalog exportieren

Sie können jeweils nur ein Glossar exportieren.

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

    git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
    cd dataplex-labs
    cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
    
  2. So 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 \
    --user-project="PROJECT_ID" \
    --url="DATA_CATALOG_GLOSSARY_URL" \
    --export-mode=glossary_only

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das das Glossar enthält.
    • DATA_CATALOG_GLOSSARY_URL: die URL des Data Catalog-Unternehmensglossars in der Konsole.

    Das Skript erstellt eine JSON-Datei, die dasselbe Format wie die Metadaten-Importdatei hat, die für Metadaten-Importjobs verwendet wird. Die Namen des Glossars, der Kategorien und der Begriffe haben die folgenden Formate:

    • Glossar: projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
    • Laufzeit: projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
    • Kategorie: projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID

    GLOSSARY_ID, CATEGORY_ID, TERM_ID, PROJECT_NUMBER und LOCATION_ID entsprechen den Werten aus dem Data Catalog-Glossar.

Glossare, Kategorien und Begriffe importieren

Sie müssen die im vorherigen Schritt exportierten Dataplex Universal Catalog-Glossare, ‑Kategorien und ‑Begriffe importieren. In diesem Abschnitt wird beschrieben, wie Sie Daten mit der Metadata Job API importieren.

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

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

  3. Führen Sie einen Metadaten-Importjob 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_NUMBER/locations/global/metadataJobs?metadata_job_id=JOB_ID -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_NUMBER/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, wird mit dem gcurl-Befehl eine eindeutige ID generiert.
    • STORAGE_BUCKET: Der URI des Cloud Storage-Buckets oder -Ordners, der die exportierte Glossardatei enthält.
    • PROJECT_NUMBER: die Projektnummer, die das Glossar enthält.
  4. Optional: Mit der Methode metadataJobs.get können Sie den Status des Jobs zum Importieren von Metadaten verfolgen:

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

    Wenn beim Importieren von Metadaten Fehler auftreten, werden diese in den Logs angezeigt.

Links zwischen Begriffen aus Data Catalog exportieren

  1. Klonen Sie das Repository dataplex-labs (falls noch nicht geschehen) und wechseln Sie dann in das Unterverzeichnis business-glossary-import:

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

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

    python3 bg_import/business_glossary_export_v2.py \
    --user-project=PROJECT_ID \
    --url="DATA_CATALOG_GLOSSARY_URL" \
    --export-mode=entry_links_only \
    --entrylinktype="related,synonym"

    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 lautet entrylinks_relatedsynonymGLOSSARY_ID.json.

Links zwischen Begriffen in Dataplex Universal Catalog importieren

Sie müssen Links zwischen Begriffen importieren, die im vorherigen Schritt exportiert wurden. In diesem Abschnitt wird beschrieben, wie Sie Daten mit der Metadata Job API importieren.

  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 Dataplex Universal Catalog-Dienstkonto Lesezugriff auf den Cloud Storage-Bucket.

  3. Führen Sie einen Metadaten-Importjob 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 -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": [PROJECT_IDS]
        }
    }
    }
    EOF
    )"

    Ersetzen Sie Folgendes:

    • GLOSSARY_PROJECT_ID: die ID des Projekts, das das Glossar enthält
    • PROJECT_IDS: Wenn Begriffe in Glossaren in verschiedenen Projekten verknüpft sind, geben Sie die IDs der Projekte im Format "projects/PROJECT_ID1", "projects/PROJECT_ID2" an.

    Wichtige Hinweise:

    • Das entry_groups-Objekt enthält die Eintragsgruppe, in der die Eintragslinks erstellt werden. Dies ist die @dataplex-Systemeintragsgruppe im selben Projekt und am selben Standort wie das Glossar.
    • Mit dem entry_link_types-Objekt 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 referenced_entry_scopes-Objekt enthält die Projekt-IDs von Entry-Links, die Begriffe aus verschiedenen Glossaren verknüpfen.

Links zwischen Begriffen und Spalten exportieren

Nachdem Sie die Glossare und Links zwischen Begriffen exportiert und importiert haben, fahren Sie mit dem Import der Links zwischen Begriffen und Spalten fort. Im folgenden Befehl ist der Linktyp auf „definition“ festgelegt, um Links zwischen Begriffen und Spalten zu exportieren.

## Clone the repository and navigate to the directory
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
cd dataplex-labs
cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import

export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token);

## Run the export code
python3 bg_import/business_glossary_export_v2.py \
 --user-project="PROJECT_ID" \
 --url="DATA_CATALOG_GLOSSARY_URL" \
 --export-mode=entry_links_only \
 --entrylinktype="definition"

Links zwischen Begriffen und Spalten importieren

Sie müssen Links zwischen Begriffen und Spalten importieren, die im vorherigen Schritt exportiert wurden. In diesem Abschnitt wird beschrieben, wie Sie Daten mit der Metadata Job API importieren.

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

  2. Führen Sie für jede Datei, die in den Cloud Storage-Bucket hochgeladen wurde, einen separaten Importbefehl aus. Jede Datei entspricht einer eindeutigen Eintragsgruppe, die Links zwischen Begriffen und Spalten dieser Eintragsgruppe enthält.

# 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/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID
{
   "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":[
            PROJECT_IDS
         ]
      }
   }
}
EOF
)"

Nächste Schritte