Menerima notifikasi dengan feed perubahan metadata

Dokumen ini menjelaskan cara mengonfigurasi feed perubahan metadata Knowledge Catalog (sebelumnya Dataplex Universal Catalog) untuk menerima notifikasi melalui Pub/Sub saat metadata dalam Knowledge Catalog dibuat, diperbarui, atau dihapus.

Untuk mengetahui informasi selengkapnya tentang feed perubahan metadata, lihat Ringkasan feed perubahan metadata.

Sebelum memulai

Pahami Pub/Sub dan Dataplex API.

  1. Aktifkan Dataplex API dan Pub/Sub API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    Aktifkan API

  2. Buat topik Pub/Sub untuk menerima notifikasi. Untuk mengetahui informasi selengkapnya, lihat Membuat topik.

  3. Instal gcloud. Pastikan alias pendek gcloud telah ditetapkan.

  4. Tetapkan alias gcurl. Tindakan ini akan membuat pintasan yang menyertakan token autentikasi Anda dan menetapkan jenis konten JSON untuk permintaan API:

    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    
  5. Tetapkan variabel DATAPLEX_API:

    DATAPLEX_API="dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION"
    

    Ganti kode berikut:

    • PROJECT_ID: project ID Anda tempat Dataplex API diaktifkan
    • LOCATION: lokasi tempat tugas berjalan—misalnya, us-central1, europe-west3, atau asia-south1

Peran dan izin yang diperlukan

Untuk mengonfigurasi feed perubahan metadata, pastikan Anda dan akun layanan Knowledge Catalog memiliki peran dan izin IAM yang diperlukan.

Peran dan izin pengguna

Untuk mendapatkan izin yang diperlukan untuk mengekspor metadata dan mengakses pesan feed perubahan metadata, minta administrator untuk memberi Anda peran IAM berikut pada project atau organisasi:

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

Peran bawaan ini berisi izin yang diperlukan untuk mengekspor metadata dan mengakses pesan feed perubahan metadata. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengekspor metadata dan mengakses pesan feed perubahan metadata:

  • Mengekspor metadata:
    • dataplex.metadataFeeds.create dalam project
    • dataplex.entryGroups.export pada resource yang menentukan cakupan feed (Organisasi, Project, atau Grup Entri)
    • resourcemanager.projects.get dalam project
    • resourcemanager.projects.list dalam project
  • Mengakses pesan feed perubahan metadata:
    • pubsub.subscriptions.consume pada langganan
    • pubsub.topics.attachSubscription tentang topik

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Peran dan izin akun layanan Knowledge Catalog

Untuk memastikan akun layanan Knowledge Catalog memiliki izin yang diperlukan untuk memublikasikan pesan feed perubahan metadata, minta administrator Anda untuk memberikan peran IAM Pub/Sub Publisher (roles/pubsub.publisher) dan Pub/Sub Viewer (roles/pubsub.viewer) kepada akun layanan Knowledge Catalog di topik Pub/Sub.

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

Peran bawaan ini berisi izin pubsub.topics.publish dan pubsub.topics.get, yang diperlukan untuk memublikasikan pesan feed perubahan metadata.

Administrator Anda mungkin juga dapat memberikan izin ini kepada akun layanan Knowledge Catalog dengan peran khusus atau peran bawaan lainnya.

Memberikan izin ke akun layanan Knowledge Catalog

Agen layanan di Knowledge Catalog dibuat saat Anda mengaktifkan Dataplex API. Anda dapat mengidentifikasi agen layanan berdasarkan ID emailnya:

service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com

Di sini, PROJECT_NUMBER adalah nomor project tempat Anda mengaktifkan Dataplex API.

Akun layanan Knowledge Catalog memerlukan kemampuan untuk memublikasikan pesan ke topik Pub/Sub Anda dan mengambil metadata topik. Untuk memberikan izin ini, berikan peran Pub/Sub Publisher (roles/pubsub.publisher) dan peran Pub/Sub Viewer (roles/pubsub.viewer) kepada akun layanan di topik Pub/Sub:

gcloud

Jalankan perintah gcloud pubsub topics add-iam-policy-binding:

gcloud pubsub topics add-iam-policy-binding TOPIC_ID \
    --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
    --role="roles/pubsub.publisher"

gcloud pubsub topics add-iam-policy-binding TOPIC_ID \
    --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
    --role="roles/pubsub.viewer"

Ganti kode berikut:

  • TOPIC_ID: ID topik Pub/Sub Anda tempat pesan feed perubahan metadata dipublikasikan.
  • PROJECT_NUMBER: nomor project Knowledge Catalog tempat akun layanan berada.

Konsol

  1. Di konsol Google Cloud , buka halaman Topics Pub/Sub.

    Buka topik

  2. Pilih topik yang Anda gunakan untuk notifikasi feed metadata dan jika diperlukan, klik Tampilkan panel info.

  3. Di tab Permissions, klik Add principal.

  4. Di kolom New principals, masukkan akun layanan Knowledge Catalog: service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com.

  5. Di kolom Assign roles, pilih Pub/Sub Publisher.

  6. Klik Add another role, lalu pilih Pub/Sub Viewer.

  7. Klik Simpan.

Membuat feed perubahan metadata

Untuk mengontrol perubahan mana yang menghasilkan notifikasi, Anda dapat mengonfigurasi feed perubahan metadata untuk memantau resource tertentu. Anda melakukannya dengan menentukan cakupan, seperti seluruh organisasi, project tertentu, atau grup entri tertentu. Meskipun cakupan memungkinkan Anda menentukan resource mana yang akan dipantau, Anda dapat menggunakan filter untuk lebih menyempurnakan kapan Knowledge Catalog mengirimkan notifikasi.

Untuk mengetahui informasi selengkapnya, lihat Feed perubahan metadata.

C#

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for CreateMetadataFeed</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateMetadataFeedRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        CreateMetadataFeedRequest request = new CreateMetadataFeedRequest
        {