Dokumen ini memberikan petunjuk untuk melakukan migrasi dalam satu langkah dari glosarium bisnis versi pratinjau, yang mendukung metadata Data Catalog, ke glosarium bisnis versi yang tersedia secara umum di Dataplex Universal Catalog. Dengan bermigrasi ke versi yang tersedia secara umum, Anda dapat menggunakan kemampuan yang ditingkatkan dan integrasi yang lebih dalam dengan metadata Dataplex Universal Catalog, yang menawarkan stabilitas yang lebih baik, fitur baru, dan dukungan produksi penuh. Proses ini akan otomatis memperbarui glosarium Anda untuk mendukung metadata Dataplex Universal Catalog.
Sebelum memulai
Instal gcloud atau paket python. Lakukan autentikasi akun pengguna Anda dan Kredensial Default Aplikasi (ADC) yang digunakan oleh library Python. Jalankan perintah berikut dan ikuti perintah berbasis browser:
gcloud init gcloud auth login gcloud auth application-default loginMengaktifkan API berikut:
Buat satu atau beberapa bucket Cloud Storage di salah satu project Anda. Bucket akan digunakan sebagai lokasi sementara untuk file impor. Makin banyak bucket yang Anda berikan, makin cepat impornya. Berikan peran IAM Admin Storage ke akun layanan yang menjalankan migrasi:
service-MIGRATION_PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com
Ganti
MIGRATION_PROJECT_IDdengan project tempat Anda memigrasikan glosarium.Siapkan repositori:
Buat clone repositori:
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-importInstal paket yang diperlukan:
pip3 install -r requirements.txt cd migration
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk memigrasikan glosarium dari Data Catalog ke Dataplex Universal Catalog, minta administrator untuk memberi Anda peran IAM berikut:
-
Pemilik Glosarium Data Catalog (
roles/datacatalog.glossaryOwner) di project Anda -
Dataplex Administrator (
roles/dataplex.admin) di project Anda
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk memigrasikan glosarium dari Data Catalog ke Dataplex Universal Catalog. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memigrasikan glosarium dari Data Catalog ke Dataplex Universal Catalog:
-
di project tempat Anda memigrasikan glosariumdatacatalog.glossaries.get -
di project tempat Anda memigrasikan glosariumdatacatalog.glossaries.list -
di project tempat glosarium dibuat di Dataplex Universal Catalogdataplex.glossaries.create -
di project tempat glosarium akan diperbarui di Dataplex Universal Catalogdataplex.glossaries.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang Identity and Access Management (IAM) Dataplex Universal Catalog, lihat Kontrol akses dengan IAM.
Jalankan skrip migrasi
python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2
Ganti kode berikut:
USER_PROJECT_ID: project ID project yang akan dimigrasikan.MIGRATION_PROJECT_IDmengacu pada project sumber yang berisi glosarium Data Catalog yang ingin Anda ekspor.USER_PROJECT_IDadalah project yang digunakan untuk penagihan dan atribusi kuota untuk panggilan API yang dihasilkan oleh skrip.BUCKET1danBUCKET2: ID bucket Cloud Storage yang akan digunakan untuk impor.Anda dapat memberikan satu atau beberapa bucket. Untuk argumen bucket, berikan daftar nama bucket yang dipisahkan koma tanpa spasi (misalnya,
--buckets=bucket-one,bucket-two). Pemetaan one-to-one antara bucket dan glosarium tidak diperlukan; skrip menjalankan tugas impor secara paralel, sehingga mempercepat migrasi.
Jika masalah izin mencegah skrip menemukan ID organisasi Anda secara otomatis, gunakan tanda --orgIds untuk menentukan organisasi yang dapat digunakan skrip untuk menelusuri aset data yang ditautkan ke istilah glosarium.
Cakupan glosarium dalam migrasi
Untuk memigrasikan hanya glosarium tertentu, tentukan cakupannya dengan memberikan URL masing-masing.
python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"
Ganti GLOSSARY_URL1 (dan GLOSSARY_URL2)
dengan URL glosarium yang Anda migrasikan. Anda dapat memberikan satu atau beberapa URL glosarium.
Saat migrasi berjalan, jumlah tugas impor bisa kurang dari jumlah glosarium yang diekspor. Hal ini terjadi saat glosarium kosong yang tidak memerlukan tugas impor di latar belakang dibuat secara langsung.
Melanjutkan migrasi untuk kegagalan tugas impor
Keberadaan file setelah migrasi menunjukkan bahwa beberapa tugas impor telah gagal. Untuk melanjutkan migrasi, jalankan perintah berikut:
python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import
Jika Anda mengalami kegagalan, jalankan kembali perintah resume. Skrip hanya memproses file yang tidak berhasil diimpor dan dihapus.
Skrip ini menerapkan pemeriksaan dependensi untuk link entri dan link antar-glosarium. File link entri hanya diimpor jika glosarium induknya berhasil diimpor. Demikian pula, link antar-istilah hanya diimpor jika semua istilah yang dirujuk telah berhasil diimpor.
Memecahkan masalah
Bagian ini memberikan solusi untuk error umum.
Error Izin Ditolak / Error 403: Pastikan pengguna atau akun layanan memiliki peran Editor Dataplex Universal Catalog di project tujuan dan peran Pelihat Data Catalog di project sumber.
ModuleNotFoundError: Pastikan Anda telah mengaktifkan lingkungan virtual Python dan menginstal paket yang diperlukan menggunakan
pip3 install -r requirements.txt.TimeoutError / ssl.SSLError: Error tingkat jaringan ini mungkin disebabkan oleh firewall, proxy, atau koneksi lambat. Skrip memiliki waktu tunggu 5 menit - masalah yang terus berlanjut mungkin memerlukan pemeriksaan konfigurasi jaringan lokal Anda.
Metode tidak ditemukan (Tidak dapat mengambil entri): Error ini sering menunjukkan bahwa project pengguna Anda tidak masuk dalam daftar yang diizinkan untuk memanggil API, sehingga mencegah pengambilan entri yang diperlukan.