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 Spreadsheet ke Katalog Pengetahuan (sebelumnya Dataplex Universal Catalog).

Sebelum memulai

Sebelum mengimpor link entri ke Katalog Pengetahuan, 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 identitas kredensial pengguna Anda:

  1. Identifikasi atau buat akun layanan.

    Pilih akun layanan yang ada atau buat akun layanan baru di project tempat Anda menjalankan utilitas impor. Untuk mengetahui informasi selengkapnya, lihat Membuat akun layanan. Catat 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 identitas akun layanan. Berikan peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator) kepada akun pengguna Anda di akun layanan.

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

  3. Beri akun layanan akses Editor ke Spreadsheet Google.

    Buka Google Spreadsheet yang ingin Anda gunakan untuk proses impor, klik Bagikan, 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 bagi file impor.

Peran yang diperlukan

Untuk memastikan bahwa akun layanan memiliki izin yang diperlukan untuk mengimpor link entri dari Google Spreadsheet, minta administrator untuk memberikan peran IAM berikut kepada 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 khusus atau peran yang telah ditetapkan lainnya.

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

Siapkan repositori git

Membuat cloning dataplex-labs repositori:

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 saat menginstal paket, siapkan lingkungan pengembangan Python baru.

Mengautentikasi dan mengonfigurasi peniruan akun layanan

Lakukan 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 project Google Cloud , 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.

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

Membuat dan menyusun Spreadsheet Google untuk diimpor

Agar berhasil menjalankan impor massal, Anda harus membuat Spreadsheet Google baru menggunakan skema kolom yang tepat sehingga utilitas impor dapat berhasil mem-parsing dan memvalidasi kolom metadata Anda. Pastikan Anda telah memberikan akses Editor akun layanan ke Spreadsheet Google.

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

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 dari 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 Spreadsheet Google

Untuk mengimpor link entri dari Google Spreadsheet 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 membagi metadata menjadi batch yang lebih kecil dan memprosesnya secara bersamaan di seluruh bucket, sehingga mengurangi total waktu penyerapan.

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

Langkah berikutnya