Mengimpor link entri dari Spreadsheet Google

Dokumen ini menjelaskan cara menggunakan utilitas impor link entri untuk mengimpor link entri secara massal (hubungan antara istilah glosarium dan aset data, termasuk jenis link entri definition, related, dan synonym) dari Google Sheet ke Knowledge Catalog (sebelumnya Dataplex Universal Catalog).

Sebelum memulai

Sebelum mengimpor link entri ke Knowledge Catalog, selesaikan prasyarat berikut.

Menyiapkan akun layanan

Untuk menjalankan utilitas impor menggunakan Google Spreadsheet, Anda harus menyiapkan akun layanan dengan izin yang diperlukan untuk mengakses Google Sheets API dan meniru kredensial pengguna Anda:

  1. Identifikasi atau buat akun layanan.

    Pilih akun layanan yang ada atau buat akun baru di project tempat Anda menjalankan utilitas impor. Untuk mengetahui informasi selengkapnya, lihat Membuat akun layanan. Perhatikan email akun layanan (misalnya, SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).

  2. Konfigurasi peniruan akun layanan.

    Untuk menjalankan skrip utilitas impor secara lokal, akun pengguna Anda harus memiliki izin untuk meniru akun layanan. Berikan akun pengguna Anda peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator) di akun layanan.

    Untuk mengetahui informasi selengkapnya, lihat Mengelola akses ke akun layanan.

  3. Berikan akses Editor akun layanan ke Google Sheet.

    Buka Google Sheet yang ingin Anda gunakan untuk proses impor, klik Share, lalu tambahkan email akun layanan sebagai Editor. Izin ini memungkinkan akun layanan membaca dari atau menulis data ke sheet Anda.

Membuat bucket Cloud Storage

Buat bucket Cloud Storage untuk berfungsi sebagai area staging untuk file impor.

Peran yang diperlukan

Untuk memastikan bahwa akun layanan memiliki izin yang diperlukan untuk mengimpor link entri dari Google Sheet, minta administrator untuk memberikan peran IAM berikut ke akun layanan:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan melalui peran kustom atau peran yang telah ditetapkan.

Mengaktifkan API

Untuk mengimpor link entri, aktifkan API berikut di project Anda:

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

Aktifkan API

Menyiapkan repositori git

Clone repositori 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

Menginstal dependensi

Instal dependensi Python yang diperlukan:

pip3 install -r requirements.txt
cd dataplex-glossary

Jika Anda mengalami masalah dengan penginstalan paket, siapkan lingkungan pengembangan Python baru.

Mengautentikasi dan mengonfigurasi peniruan akun layanan

Inisialisasi Google Cloud CLI dan autentikasi menggunakan Kredensial Default Aplikasi (ADC) dengan peniruan akun layanan:

# 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"

Ganti SERVICE_ACCOUNT_EMAIL dengan ID email akun layanan. Contoh:

SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Persyaratan impor lintas project

Untuk mengimpor link entri di beberapa Google Cloud project, pastikan konfigurasi Anda memenuhi persyaratan berikut sebelum menjalankan utilitas impor:

  • Konfigurasi izin IAM lintas project: Akun layanan yang menjalankan skrip impor harus memiliki izin yang memadai di semua project target.

  • Verifikasi keberadaan entri: Entri target harus sudah ada di project Knowledge Catalog masing-masing sebelum Anda menjalankan impor.

  • Berikan akses bucket Cloud Storage ke agen layanan Knowledge Catalog: Akun layanan Knowledge Catalog di setiap project target memerlukan akses ke bucket Cloud Storage Anda.

Membuat dan menyusun Google Sheet untuk impor

Untuk berhasil menjalankan impor massal, Anda harus membuat Google Sheet baru menggunakan skema kolom yang tepat sehingga utilitas impor dapat berhasil mengurai dan memvalidasi kolom metadata Anda. Pastikan Anda telah memberikan akses Editor akun layanan ke Google Sheet.

Baris pertama sheet harus berisi header skema yang sama dan peka huruf besar/kecil:

Header kolom Wajib Diisi atau Opsional Deskripsi
entry_link_type Wajib Nilai harus berupa definition, related, atau synonym.
source_entry Wajib Jalur resource lengkap entri sumber dalam format:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRYGROUP_NAME/entries/ENTRY_NAME
target_entry Wajib Jalur resource lengkap entri target dalam format:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRYGROUP_NAME/entries/ENTRY_NAME
source_path Opsional Jalur kolom atau kolom untuk link definisi (misalnya, Schema.column_name).

Menyiapkan variabel lingkungan

Siapkan variabel lingkungan berikut:

# 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"

Mengimpor link entri dari Google Sheet

Untuk mengimpor link entri dari Google Sheet ke Knowledge Catalog, jalankan skrip entrylinks-import.py:

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

Untuk menjalankan beberapa tugas impor secara paralel, tentukan beberapa bucket Cloud Storage dalam parameter --buckets. Skrip ini membagi metadata menjadi batch yang lebih kecil dan memprosesnya secara serentak di seluruh bucket, sehingga mengurangi total waktu penyerapan.

Anda dapat meninjau log eksekusi di direktori logs/ di jalur eksekusi lokal Anda. Log ini membantu Anda mengaudit proses transfer dan mengidentifikasi entri yang dilewati atau peringatan pemformatan.

Langkah berikutnya