Berbagi streaming dengan Pub/Sub

Anda dapat membagikan topik Pub/Sub melalui BigQuery sharing untuk menyeleksi dan mendistribusikan library data streaming di beberapa batas organisasi internal dan eksternal. Data streaming real-time dibagikan menggunakan listingan dan pertukaran berbagi BigQuery, sehingga Anda dapat mengategorikan dan mengelompokkan secara logis kumpulan besar topik Pub/Sub serta menyediakan akses dalam skala besar.

Anda dapat membagikan data streaming untuk melakukan hal berikut:

  • Jasa keuangan:
    • Bagikan harga instrumen, penawaran harga, dan pesanan yang berubah dengan cepat secara real-time
    • Mendeteksi pencucian uang dan penipuan pembayaran
    • Mendukung penghitungan risiko perdagangan
  • Retail dan barang konsumsi (CPG):
    • Membantu toko mengelola inventaris secara real-time
    • Mempersonalisasi pemasaran dan dukungan pelanggan
    • Menyesuaikan harga secara dinamis
    • Memantau saluran media sosial
    • Mengoptimalkan tata letak toko fisik
  • Layanan Kesehatan:
    • Mendukung algoritma prediktif untuk memantau pasien dan menganalisis risiko secara real time
    • Memantau tanda vital dengan perangkat medis wearable
    • Akuisisi, penataan, penyimpanan, dan pemrosesan data otomatis dari pasien, profesional kesehatan, dan administrasi fasilitas
  • Telekomunikasi:
    • Meninjau kondisi jaringan dan memprediksi kegagalan
    • Menemukan pola perilaku pengguna untuk menemukan lokasi perangkat dan antena dengan lebih baik

Peran yang diperlukan

Peran untuk berbagi topik Pub/Sub serupa dengan berbagi set data BigQuery:

  • Administrator: pengguna yang mengelola izin, visibilitas, dan keanggotaan bursa iklan dan listingan. Peran ini setara dengan peran IAM Admin Analytics Hub (roles/analyticshub.admin).
  • Penerbit topik bersama: pengguna yang membuat, mengelola, dan memberikan akses ke daftar topik Pub/Sub bersama. Peran ini setara dengan peran IAM Penayang Analytics Hub atau Admin Listingan Analytics Hub. Penayang yang dimaksud di sini adalah pengguna, bukan aplikasi penayang yang membuat dan mengirim pesan ke topik.
  • Pelanggan topik bersama: pengguna yang berlangganan ke daftar topik bersama. Pelanggan topik bersama dapat mengonfigurasi cara pesan topik akan dikirim. Peran ini setara dengan peran IAM Pelanggan Analytics Hub atau Pemilik Langganan Analytics Hub. Bergantung pada cara data pesan dikirim, izin tambahan mungkin diperlukan, seperti izin akun layanan Pub/Sub untuk menulis pesan ke BigQuery.

Arsitektur

Diagram berikut menjelaskan cara penerbit dan pelanggan resource Pub/Sub berinteraksi dengan berbagi BigQuery:

Interaksi antara penayang topik bersama dan berbagi BigQuery.
Gambar 1. Alur kerja penerbit dan pelanggan topik bersama dengan topik Pub/Sub.

Topik yang dibagikan

Topik bersama adalah unit untuk membagikan topik Pub/Sub di Berbagi. Sebagai penayang topik bersama, Anda membuat atau menggunakan topik Pub/Sub yang ada untuk mendistribusikan data pesan kepada pelanggan. Berbagi tidak mereplikasi topik Pub/Sub sumber.

Listingan

Listingan dibuat saat penayang menambahkan topik bersama ke pertukaran. Objek ini berisi referensi ke topik yang dibagikan.

Bursa

Pertukaran adalah pengelompokan logis listingan yang mereferensikan topik bersama.

Langganan Pub/Sub tertaut

Saat berlangganan listingan dengan topik bersama, langganan Pub/Sub tertaut akan dibuat di project pelanggan topik bersama. Langganan Pub/Sub juga ditampilkan di project penayang topik bersama sebagai langganan Pub/Sub dan langganan listingan Berbagi.

Batasan

Berbagi aliran dengan Pub/Sub memiliki batasan berikut:

  • Topik bersama dapat memiliki maksimum 10.000 langganan Pub/Sub. Batas ini mencakup langganan Pub/Sub yang ditautkan dan langganan Pub/Sub yang dibuat di luar Berbagi, misalnya, langganan yang dibuat langsung dari Pub/Sub.
  • Topik bersama diindeks di Data Catalog (tidak digunakan lagi) dan Dataplex Universal Catalog, tetapi Anda tidak dapat memfilter secara khusus untuk jenis resource-nya.

  • Metrik penggunaan dicatat dan ditampilkan di dasbor Metrik untuk topik dan langganan Pub/Sub bersama, tetapi tidak tersedia di INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

    Untuk memantau metrik, lihat Memantau Pub/Sub di Cloud Monitoring.

    Metrik ini dapat mencakup:

    • Jumlah pesan publikasi
    • Publikasikan permintaan
    • Throughput publikasi dalam byte
    • 5 langganan teratas
    • Byte yang diserap
    • Lainnya

Mengaktifkan Analytics Hub API

Untuk mengaktifkan Analytics Hub API, lakukan tindakan berikut:

Konsol

Buka library API dan aktifkan Analytics Hub API untuk Google Cloud project Anda.

Mengaktifkan Analytics Hub API

gcloud

Jalankan perintah gcloud services enable:

gcloud services enable analyticshub.googleapis.com

Aktifkan Pub/Sub API

Buka library API dan aktifkan Pub/Sub API untuk Google Cloud project Anda.

Aktifkan Pub/Sub API

Alur kerja penayang topik bersama

Sebagai penayang topik bersama, Anda dapat melakukan hal berikut:

  • Menambahkan topik bersama ke pertukaran dengan membuat listingan
  • Memperbarui listingan
  • Menghapus listingan
  • Membagikan listingan
  • Mengelola langganan ke listingan Anda
  • Menghapus pelanggan dari listingan Anda

Izin penayang tambahan

Untuk melakukan tugas penayang topik bersama, Anda harus memiliki peran Penayang Analytics Hub (roles/analyticshub.publisher) di pertukaran atau listingan. Untuk melihat semua pertukaran data di seluruh project dalam organisasi yang dapat Anda akses, Anda harus memiliki izin resourcemanager.organizations.get.

Selain itu, Anda memerlukan izin pubsub.topics.setIamPolicy pada topik Pub/Sub yang ingin Anda cantumkan. Untuk membagikan topik dengan skema terlampir, Anda harus memberikan izin pubsub.schemas.get kepada pelanggan berbagi BigQuery pada skema yang terlampir ke topik. Izin ini memungkinkan pelanggan berbagi BigQuery mengurai pesan dengan benar dari langganan Pub/Sub.

Membuat listingan (untuk menambahkan topik bersama)

Untuk menambahkan topik bersama ke listingan, pilih salah satu opsi berikut:

Konsol

  1. Buka halaman Berbagi (Analytics Hub).

    Membuka Berbagi (Analytics Hub)

    Akan muncul halaman yang menampilkan daftar semua pertukaran data yang dapat Anda akses.

  2. Klik nama pertukaran data tempat Anda ingin membuat listingan.

  3. Klik Buat listingan.

  4. Di halaman Buat listingan, pilih "Topik Pub/Sub" di drop-down Jenis resource.

  5. Pilih topik Pub/Sub yang ada di drop-down Shared topic, atau klik Create a topic.

  6. Di halaman Detail listingan, di bagian Nama tampilan, masukkan nama listingan.

  7. Masukkan detail opsional berikut:

    • Kategori: pilih hingga dua kategori yang paling mewakili listingan Anda. Pelanggan topik bersama dapat memfilter listingan berdasarkan kategori ini.

    • Afinitas data: region yang digunakan oleh penerbit topik bersama untuk memublikasikan data. Informasi ini berguna bagi pelanggan topik bersama untuk meminimalkan atau menghindari biaya traffic keluar jaringan Pub/Sub dengan membaca data dari region yang sama. Untuk mengetahui informasi selengkapnya tentang biaya traffic keluar, lihat Biaya transfer data.

    • Ikon: ikon untuk listingan Anda. Format file PNG dan JPEG didukung. Ikon harus memiliki ukuran file kurang dari 512 KiB dan dimensi tidak lebih dari 512 x 512 piksel.

    • Deskripsi: deskripsi singkat tentang listingan Anda. Pelanggan topik bersama dapat menelusuri listingan berdasarkan deskripsi.

    • Keterbukaan untuk Publik: mengaktifkan agar listingan Anda dapat ditemukan oleh publik di katalog berbagi BigQuery. Anda juga harus menetapkan izin untuk listingan. Klik Tindakan penukaran dan Setel izin. Beri allUsers atau allAuthenticatedusers peran Analytics Hub Viewer (roles/analyticshub.viewer). Klik Izinkan Akses Publik.

    • Dokumentasi > Markdown: informasi tambahan seperti link ke dokumentasi yang relevan dan informasi tambahan yang dapat membantu pelanggan topik bersama menggunakan topik Anda.

  8. Di halaman Mencantumkan informasi kontak, masukkan detail opsional berikut:

    • Kontak utama: masukkan email atau URL kontak utama untuk listingan.

    • Kontak permintaan akses: masukkan email atau URL formulir informasi agar pelanggan topik bersama dapat menghubungi Anda.

    • Provider: perluas bagian Penyedia dan tentukan detail di kolom berikut:

      • Nama penyedia: nama penyedia topik.
      • Kontak utama penyedia: email atau URL kontak utama penyedia topik.

      Pelanggan topik bersama dapat memfilter listingan berdasarkan penyedia data.

    • Publisher: perluas bagian Penayang dan tentukan detail di kolom berikut:

      • Nama penayang: nama penayang topik bersama yang membuat listingan.
      • Kontak utama penayang: email atau URL kontak utama penayang topik bersama.
  9. Tinjau halaman Pratinjau listingan.

  10. Klik Publikasikan.

API

Gunakan metode projects.locations.dataExchanges.listings.create .

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings?listingId=LISTING_ID

Ganti kode berikut:

  • PROJECT_ID: project ID yang berisi pertukaran data tempat Anda ingin membuat listingan.
  • LOCATION: lokasi untuk pertukaran data Anda. Untuk informasi selengkapnya tentang lokasi yang mendukung fitur Berbagi, lihat Wilayah yang didukung.
  • DATAEXCHANGE_ID: ID pertukaran data.
  • LISTING_ID: ID listingan.

Dalam isi permintaan, berikan detail listingan. Jika permintaan berhasil, isi respons akan berisi detail listingan.

Untuk mengetahui informasi selengkapnya tentang tugas yang dapat Anda lakukan pada listingan menggunakan API, lihat metode projects.locations.dataExchanges.listings.

Memperbarui listingan

Untuk memperbarui listingan, pilih salah satu opsi berikut:

Konsol

  1. Buka halaman Berbagi (Analytics Hub).

    Membuka Berbagi (Analytics Hub)

  2. Klik nama pertukaran data yang berisi listingan.

  3. Klik listingan yang ingin diperbarui.

  4. Klik Edit listingan.

  5. Mengubah nilai di kolom. Anda dapat mengubah semua nilai kecuali topik bersama listingan.

  6. Untuk menyimpan perubahan, klik Publikasikan.

API

Gunakan metode projects.locations.dataExchanges.listings.patch.

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID?updateMask=UPDATEMASK

Ganti kode berikut:

  • PROJECT_ID: project ID yang berisi pertukaran data tempat Anda ingin membuat listingan.
  • LOCATION: lokasi untuk pertukaran data Anda. Untuk informasi selengkapnya tentang lokasi yang mendukung fitur Berbagi, lihat Wilayah yang didukung.
  • DATAEXCHANGE_ID: ID pertukaran data.
  • LISTING_ID: ID listingan.
  • UPDATEMASK: daftar kolom yang ingin Anda perbarui. Untuk memperbarui beberapa nilai, gunakan daftar yang dipisahkan koma.

Dalam isi permintaan, tentukan nilai yang diperbarui.

Untuk mengetahui informasi selengkapnya tentang tugas yang dapat Anda lakukan pada listingan menggunakan API, lihat metode projects.locations.dataExchanges.listings.

Menghapus listingan

Listingan dengan topik Pub/Sub bersama tidak dapat dihapus jika ada langganan aktif. Mencabut semua langganan aktif sebelum mencoba menghapus listingan topik bersama. Setelah listingan dihapus, Anda tidak dapat mengurungkannya. Untuk menghapus listingan, pilih salah satu opsi berikut:

Konsol

  1. Buka halaman Berbagi (Analytics Hub).

    Membuka Berbagi (Analytics Hub)

  2. Klik nama pertukaran data yang berisi listingan.

  3. Klik listingan yang ingin dihapus.

  4. Klik Delete.

  5. Pada dialog Hapus listingan?, konfirmasi penghapusan dengan mengetik hapus.

  6. Klik Hapus.

API

Gunakan metode projects.locations.dataExchanges.listings.delete.

DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID

Ganti kode berikut:

  • PROJECT_ID: project ID yang berisi pertukaran data tempat Anda ingin membuat listingan.
  • LOCATION: lokasi untuk pertukaran data Anda. Untuk informasi selengkapnya tentang lokasi yang mendukung fitur Berbagi, lihat Wilayah yang didukung.
  • DATAEXCHANGE_ID: ID pertukaran data.
  • LISTING_ID: ID listingan.

Untuk mengetahui informasi selengkapnya tentang tugas yang dapat Anda lakukan pada listingan menggunakan API, lihat metode projects.locations.dataExchanges.listings.

Membagikan listingan

Jika ingin memberi pengguna akses ke listingan pribadi, Anda harus menetapkan kebijakan IAM untuk individu atau grup untuk listingan tersebut. Untuk listingan komersial, pertukaran data Anda harus bersifat publik. Listingan di pertukaran data publik muncul di Berbagi untuk semua pengguna Google Cloud (allAuthenticatedUsers). Agar pengguna dapat meminta akses untuk listingan komersial, Anda harus memberi pengguna peran Pelihat Analytics Hub (roles/analyticshub.viewer).

Untuk memberikan akses kepada pengguna agar dapat melihat atau berlangganan listingan Anda, lakukan langkah-langkah berikut:

  1. Buka halaman Berbagi (Analytics Hub).

    Membuka Berbagi (Analytics Hub)

  2. Klik nama pertukaran data yang berisi listingan.

  3. Klik listingan yang ingin Anda tambahkan pelanggan topik bersama.

  4. Klik Setel izin.

  5. Untuk menambahkan akun utama, klik Tambahkan akun utama.

  6. Di kolom Akun utama baru, tambahkan detail berikut berdasarkan jenis listingan:

    • Untuk listingan pribadi, masukkan email identitas yang ingin Anda beri akses.
    • Untuk listingan publik, tambahkan allAuthenticatedUsers.
  7. Di menu Pilih peran, pilih Analytics Hub, lalu berdasarkan jenis listingan, pilih salah satu peran berikut:

  8. Klik Simpan.

Untuk mengetahui informasi selengkapnya, lihat peran Pelanggan dan Pelihat Analytics Hub.

Kelola langganan

Agar pengguna dapat berlangganan listingan dengan topik bersama, beri mereka peran Pelanggan Analytics Hub (roles/analyticshub.subscriber) dan Pemilik Langganan Analytics Hub (roles/analyticshub.subscriptionOwner) di listingan tertentu:

  1. Buka halaman Berbagi (Analytics Hub).

    Membuka Berbagi (Analytics Hub)

  2. Klik nama pertukaran data yang berisi listingan yang langganannya ingin Anda kelola.

  3. Klik listingan tempat Anda ingin mencantumkan semua pelanggan topik bersama.

  4. Klik Setel izin.

  5. Untuk menambahkan akun utama, klik Tambahkan akun utama.

  6. Di kolom New principals, masukkan nama pengguna atau email pelanggan yang ingin Anda tambahkan.

  7. Untuk Pilih peran, pilih Analytics Hub > Pelanggan Analytics Hub.

  8. Klik Add another role.

  9. Untuk Memilih peran, pilih Analytics Hub > Pemilik Langganan Analytics Hub.

  10. Klik Simpan.

Anda dapat menghapus dan memperbarui pelanggan kapan saja dengan mengklik Tetapkan Izin.

Mencabut langganan

Untuk menghapus langganan ke listingan topik bersama dari berbagi BigQuery, pilih salah satu opsi berikut:

Konsol

  1. Untuk mencantumkan semua pelanggan topik bersama dari listingan, ikuti petunjuk konsolGoogle Cloud di bagian Melihat semua langganan.

  2. Klik tab Langganan untuk melihat semua langganan ke pertukaran data.

  3. Centang kotak di samping langganan yang ingin dihapus, atau pilih semua langganan.

  4. Pada dialog Batalkan langganan?, masukkan batalkan untuk mengonfirmasi.

  5. Klik Cabut.

API

Untuk menghapus langganan, gunakan metode projects.locations.subscriptions.revoke.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke

Ganti kode berikut:

  • PROJECT_ID: project ID langganan yang ingin Anda hapus.
  • LOCATION: lokasi langganan.
  • SUBSCRIPTION_ID: ID langganan yang ingin Anda hapus.

Dengan mencabut langganan dari berbagi BigQuery, pelanggan topik bersama tidak lagi menerima data pesan dari topik bersama. Langganan Pub/Sub dilepaskan dari topik bersama. Jika langganan dihapus langsung dari Pub/Sub, langganan berbagi BigQuery akan tetap ada dan perlu dibersihkan.

Alur kerja pelanggan

Sebagai pelanggan berbagi BigQuery, Anda dapat melihat dan berlangganan listingan. Berlangganan listingan topik bersama akan membuat satu langganan Pub/Sub tertaut di project pelanggan. Langganan Pub/Sub akan terlihat di project penerbit topik bersama.

Izin pelanggan tambahan

Anda harus memiliki peran Pelanggan Analytics Hub (roles/analyticshub.subscriber) yang diberikan di tingkat project, pertukaran, atau listingan untuk melakukan tugas pelanggan.

Berlangganan listingan topik bersama

Untuk berlangganan listingan dengan topik bersama, pilih salah satu opsi berikut:

Konsol

  1. Untuk melihat daftar listingan yang dapat Anda akses, ikuti langkah-langkah di bagian Melihat listingan.

  2. Jelajahi listingan dan klik listingan yang ingin Anda jadikan langganan. Dialog yang berisi detail listingan akan muncul.

  3. Klik Subscribe untuk membuka dialog Create subscription.

  4. Jika Anda belum mengaktifkan Analytics Hub API di project, pesan error akan muncul beserta link untuk mengaktifkan API. Klik Enable Analytics Hub API.

  5. Pada dialog Create subscription, tentukan detail berikut:

    • ID Langganan: tentukan nama langganan yang Anda buat.
    • Jenis pengiriman: pilih mekanisme cara data pesan akan dikirim.
    • Durasi retensi pesan: tetapkan durasi retensi pesan.
    • Periode habis masa berlaku: ditetapkan kapan langganan akan berakhir setelah tidak ada aktivitas, jika pernah.
    • Batas waktu konfirmasi: tetapkan waktu batas akhir konfirmasi.
    • Filter langganan: menetapkan sintaksis filter pada pesan.
    • Pengiriman tepat satu kali: mengaktifkan pengiriman tepat satu kali.
    • Pengurutan pesan: mengaktifkan pengurutan pesan dengan kunci urutan.
    • Penghentian pengiriman: mengaktifkan penghentian pengiriman.
    • Kebijakan percobaan ulang: tetapkan kebijakan percobaan ulang.

    Untuk mengetahui informasi selengkapnya tentang properti langganan Pub/Sub, lihat properti langganan.

  6. Untuk menyimpan perubahan, klik Buat. Langganan Pub/Sub tertaut dibuat di project Anda.

API

Gunakan metode projects.locations.dataExchanges.listings.subscribe.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:subscribe

Ganti kode berikut:

  • PROJECT_ID: project ID listingan yang ingin Anda jadikan langganan.
  • LOCATION: lokasi untuk listingan yang Anda jadikan langganan.
  • DATAEXCHANGE_ID: ID pertukaran data listingan yang Anda jadikan langganan.
  • LISTING_ID: ID listingan yang ingin Anda jadikan langganan.

Dalam isi permintaan, tentukan langganan Pub/Sub tempat Anda ingin membuat langganan Pub/Sub tertaut. Jika berhasil, isi respons akan kosong.

Untuk mengetahui informasi selengkapnya tentang langganan Pub/Sub, lihat ringkasan langganan.

Harga

Tidak ada biaya tambahan bagi penerbit topik Pub/Sub untuk mencantumkan dan membagikan topik melalui BigQuery sharing. Penerbit topik bersama dikenai biaya untuk jumlah total byte yang ditulis (throughput publikasi) ke topik bersama dan keluar jaringan (jika ada). Pelanggan topik bersama dikenai biaya untuk jumlah total byte yang dibaca (throughput langganan) dari langganan tertaut dan keluar jaringan (jika berlaku). Lihat harga Pub/Sub untuk mengetahui detail tambahan.

Kontrol Layanan VPC

Untuk topik bersama dari project yang memiliki perimeter Kontrol Layanan VPC, Anda dapat menetapkan aturan traffic masuk dan keluar yang sesuai yang diperlukan untuk memberikan akses ke publisher dan subscriber topik bersama.