Memecahkan masalah feed perubahan metadata

Feed perubahan metadata Knowledge Catalog (sebelumnya Dataplex Universal Catalog) memungkinkan Anda melacak perubahan pada entri dan aspek metadata Anda hampir secara real-time dengan memublikasikan notifikasi ke Pub/Sub. Saat mengonfigurasi atau memantau feed ini, Anda dapat mendiagnosis dan menyelesaikan masalah umum terkait izin pembuatan feed, perimeter Kontrol Layanan VPC, pengiriman notifikasi, dan payload pesan. Untuk mengetahui informasi selengkapnya, lihat Tentang feed perubahan metadata.

Jika Anda memerlukan bantuan untuk menyelesaikan masalah yang tidak dibahas dalam dokumen ini, lihat Cloud Customer Care.

Error pembuatan feed perubahan metadata

Bagian ini menjelaskan cara mengatasi error yang mungkin Anda alami saat membuat feed perubahan metadata.

Error izin ditolak

Anda menerima error PERMISSION_DENIED saat mencoba membuat feed perubahan metadata.

Masalah ini terjadi karena Anda atau akun layanan Knowledge Catalog mungkin tidak memiliki izin yang diperlukan.

Untuk mengatasi masalah ini, tinjau persyaratan berikut:

  • Pastikan Anda memiliki izin dataplex.metadataFeeds.create.

  • Pastikan Anda memiliki izin dataplex.entryGroups.export pada cakupan feed (Organisasi, Project, atau Grup Entri).

  • Pastikan akun layanan Knowledge Catalog (service-{PROJECT_NUMBER}@gcp-sa-dataplex.iam.gserviceaccount.com) memiliki peran roles/pubsub.publisher pada topik Pub/Sub tujuan.

Error Kontrol Layanan VPC

Anda menerima error PERMISSION_DENIED atau Kontrol Layanan VPC saat membuat feed.

Untuk menyelesaikan masalah ini, pastikan feed perubahan metadata dan resource yang dipantaunya termasuk dalam perimeter Kontrol Layanan VPC yang sama:

  • Jika feed dicakupkan ke organisasi, hanya project dalam perimeter yang sama yang akan dipantau.

  • Jika feed memiliki cakupan project atau grup entri, pastikan semua project atau grup entri yang ditentukan berada dalam perimeter yang sama dengan project tempat Anda membuat feed.

Masalah pengiriman notifikasi

Bagian ini menjelaskan cara menyelesaikan masalah terkait pengiriman notifikasi.

Notifikasi tidak diterima

Anda tidak menerima notifikasi di topik Pub/Sub. Hal ini dapat disebabkan oleh beberapa faktor:

  • Izin tidak ada: akun layanan Knowledge Catalog kehilangan peran roles/pubsub.publisher pada topik.

  • Penundaan aktivasi: feed yang baru dibuat atau diperbarui dapat memerlukan waktu hingga 10 menit untuk menjadi aktif.

  • Topik dihapus: jika topik Pub/Sub tujuan dihapus, Knowledge Catalog akan berhenti memublikasikan.

  • Cakupan atau filter tidak cocok: perubahan mungkin tidak cocok dengan cakupan atau filter yang dikonfigurasi.

Untuk mengatasi masalah ini, periksa hal berikut:

  • Pastikan akun layanan Knowledge Catalog memiliki peran roles/pubsub.publisher pada topik.

  • Tunggu minimal 10 menit setelah membuat atau memperbarui feed.

  • Periksa apakah topik Pub/Sub ada. Jika dihapus, Anda harus membuatnya ulang.

  • Tinjau konfigurasi feed Anda untuk memastikan cakupan dan filter sesuai dengan perubahan metadata yang ingin Anda terima.

Notifikasi duplikat

Anda menerima pesan notifikasi duplikat. Knowledge Catalog memastikan pengiriman "setidaknya sekali", yang berarti pesan duplikat mungkin terjadi, terutama selama percobaan ulang.

Konfigurasikan aplikasi pelanggan Anda untuk menangani potensi duplikat. Anda dapat menggunakan messageId atau stempel waktu perubahan untuk mengidentifikasi dan menghapus duplikat pesan.

Masalah konten

Bagian ini menjelaskan cara menyelesaikan masalah terkait konten notifikasi feed perubahan metadata.

Metadata lengkap tidak ada dalam payload

Pesan notifikasi hanya berisi nama resource dan jenis perubahan, tetapi tidak berisi metadata lengkap atau perubahan spesifik.

Hal ini karena secara desain, notifikasi feed perubahan metadata memberikan "tanda tangan perubahan" (apa yang berubah), bukan payload lengkap. Hal ini membuat pesan tetap ringan dan menghindari batas ukuran payload.

Gunakan nama resource yang diberikan dalam notifikasi untuk memanggil Dataplex API (misalnya, GetEntry) dan mengambil status resource saat ini.