Eintragslinks aus einer Google-Tabelle importieren

Mit dem Dienstprogramm für den Import von Eintragsverknüpfungen können Sie Eintragsverknüpfungen im Bulk aus einer Google-Tabelle in Knowledge Catalog (ehemals Dataplex Universal Catalog) importieren. Sie können eine Tabelle verwenden, um Beziehungen zwischen Glossarbegriffen und Daten-Assets im großen Maßstab zu definieren und zu aktualisieren.

Hinweis

Bevor Sie Eintragslinks in Knowledge Catalog importieren, müssen Sie die folgenden Voraussetzungen erfüllen.

Dienstkonto einrichten

Wenn Sie das Importdienstprogramm mit Google Sheets ausführen möchten, müssen Sie ein Dienstkonto mit den erforderlichen Berechtigungen für den Zugriff auf die Google Sheets API einrichten und die Identität Ihrer Nutzeranmeldedaten übernehmen:

  1. Identifizieren oder erstellen Sie ein Dienstkonto.

    Wählen Sie ein vorhandenes Dienstkonto aus oder erstellen Sie ein neues in dem Projekt, in dem Sie das Importdienstprogramm ausführen. Weitere Informationen finden Sie unter Dienstkonten erstellen. Notieren Sie sich die E-Mail-Adresse des Dienstkontos (z. B. SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).

  2. Identitätsübernahme des Dienstkontos konfigurieren

    Damit Sie das Importdienstprogramm-Skript lokal ausführen können, muss Ihr Nutzerkonto die Berechtigung haben, die Identität des Dienstkontos zu übernehmen. Weisen Sie Ihrem Nutzerkonto die Rolle Ersteller von Dienstkonto-Tokens (roles/iam.serviceAccountTokenCreator) für das Dienstkonto zu.

    Weitere Informationen finden Sie unter Zugriff auf Dienstkonten verwalten.

  3. Gewähren Sie dem Dienstkonto Editor Zugriff auf die Google-Tabelle.

    Öffnen Sie die Google-Tabelle, die Sie für den Import verwenden möchten, klicken Sie auf Freigeben und fügen Sie die E-Mail-Adresse des Dienstkontos als Editor hinzu. Mit dieser Berechtigung kann das Dienstkonto Daten aus Ihrer Tabelle lesen oder in diese schreiben.

Cloud Storage-Bucket erstellen

Erstellen Sie einen Cloud Storage-Bucket, der als Staging-Bereich für Importdateien dient.

Erforderliche Rollen

Damit das Dienstkonto die erforderlichen Berechtigungen zum Importieren von Eintragslinks aus einer Google-Tabelle hat, bitten Sie Ihren Administrator, dem Dienstkonto die folgenden IAM-Rollen zu gewähren:

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

Ihr Administrator kann dem Dienstkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

APIs aktivieren

Aktivieren Sie die folgenden APIs in Ihrem Projekt, um Eintragslinks zu importieren:

Erforderliche Rollen zum Aktivieren von APIs

Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

APIs aktivieren

Git-Repository einrichten

Klonen Sie das Repository dataplex-labs:

git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/dataplex-glossary/import

Abhängigkeiten installieren

Installieren Sie die erforderlichen Python-Abhängigkeiten:

pip3 install -r requirements.txt
cd dataplex-glossary

Wenn bei der Paketinstallation Probleme auftreten, richten Sie eine neue Python-Entwicklungsumgebung ein.

Identitätsübernahme des Dienstkontos authentifizieren und konfigurieren

Initialisieren Sie die Google Cloud CLI und authentifizieren Sie sich mit Standardanmeldedaten für Anwendungen (ADC) und der Identitätsübernahme des Dienstkontos:

# Set your service account email address
SA_EMAIL="SERVICE_ACCOUNT_EMAIL"

# Authenticate ADC using service account impersonation and required scopes
gcloud init
gcloud auth login
gcloud auth application-default login \
  --impersonate-service-account="${SA_EMAIL}" \
  --scopes="https://www.googleapis.com/auth/spreadsheets"

Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-ID des Dienstkontos. Beispiel:

SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Anforderungen für den projektübergreifenden Import

Wenn Sie Eintragslinks über mehrere Google Cloud -Projekte hinweg importieren möchten, muss Ihre Konfiguration die folgenden Anforderungen erfüllen, bevor Sie das Importdienstprogramm ausführen:

  • Projektübergreifende IAM-Berechtigungen konfigurieren: Das Dienstkonto, das das Importskript ausführt, muss in allen Zielprojekten ausreichende Berechtigungen haben.

  • Vorhandensein von Einträgen prüfen: Die Zieleinträge müssen bereits in den jeweiligen Knowledge Catalog-Projekten vorhanden sein, bevor Sie den Import ausführen.

  • Gewähren Sie den Knowledge Catalog-Dienst-Agents Zugriff auf den Cloud Storage-Bucket: Die Knowledge Catalog-Dienstkonten in jedem Zielprojekt benötigen Zugriff auf Ihre Cloud Storage-Buckets.

Google-Tabelle für den Import erstellen und strukturieren

Für einen erfolgreichen Bulk-Import müssen Sie eine neue Google-Tabelle mit einem genauen Spaltenschema erstellen, um Ihre Eintragslinks zu definieren, einschließlich der Eintragslinktypen definition, related und synonym. Mit diesem Schema kann das Importdienstprogramm Ihre Metadatenfelder parsen und validieren. Achten Sie darauf, dass Sie dem Dienstkonto Editor Zugriff auf die Google-Tabelle gewährt haben.

Die erste Zeile der Tabelle muss genau diese Schema-Header enthalten (Groß-/Kleinschreibung beachten):

Spaltenüberschrift Erforderlich oder optional Beschreibung
entry_link_type Erforderlich Der Wert muss definition, related oder synonym sein.
source_entry Erforderlich Der vollständige Ressourcenpfad des Quelleintrags im Format:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRYGROUP_NAME/entries/ENTRY_NAME
target_entry Erforderlich Der vollständige Ressourcenpfad des Zieleintrags im Format:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRYGROUP_NAME/entries/ENTRY_NAME
source_path Optional Spalten- oder Feldpfad für Definitionslinks (z. B. Schema.column_name).

Umgebungsvariablen einrichten

Richten Sie die folgenden Umgebungsvariablen ein:

# Set your Google Sheet URL
export SPREADSHEET_URL="GOOGLE_SHEET_URL"

# Set your bucket name
export BUCKETS="COMMA_SEPARATED_LIST_OF_BUCKETS"

# Set the project ID
export USER_PROJECT="USER_PROJECT"

Eintragslinks aus der Google-Tabelle importieren

Führen Sie das Skript entrylinks-import.py aus, um die Eintragslinks aus der Google-Tabelle in Knowledge Catalog zu importieren:

cd import
python3 entrylinks-import.py \
  --spreadsheet-url="$SPREADSHEET_URL" \
  --buckets="$BUCKETS" \
  --user-project="$USER_PROJECT"

Wenn Sie mehrere Importjobs parallel ausführen möchten, geben Sie im Parameter --buckets mehrere Cloud Storage-Buckets an. Das Script teilt die Metadaten in kleinere Batches auf und verarbeitet sie gleichzeitig in den Buckets, wodurch die Gesamtaufnahmezeit reduziert wird.

Sie können die Ausführungslogs im Verzeichnis logs/ in Ihrem lokalen Ausführungspfad einsehen. Mithilfe dieser Logs können Sie den Übertragungsprozess prüfen und übersprungene Einträge oder Formatierungswarnungen identifizieren.

Nächste Schritte