Topik impor Azure Event Hubs memungkinkan Anda terus-menerus menyerap data dari Azure Event Hubs sebagai sumber eksternal dan ke Pub/Sub. Kemudian, Anda dapat melakukan streaming data ke tujuan mana pun yang didukung Pub/Sub.
Dokumen ini menunjukkan cara membuat dan mengelola topik impor Azure Event Hubs. Untuk membuat topik standar, lihat Membuat topik standar.
Untuk mengetahui informasi selengkapnya tentang topik impor, lihat Tentang topik impor.
Sebelum memulai
Ketahui lebih lanjut proses penerbitan Pub/Sub.
Konfigurasi peran dan izin yang diperlukan untuk mengelola topik impor Azure Event Hubs, termasuk yang berikut:
Siapkan workload identity federation agar Trusted Cloud dapat mengakses layanan streaming eksternal.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang Anda perlukan guna membuat dan mengelola topik impor Azure Event Hubs, minta administrator untuk memberi Anda peran IAM Pub/Sub Editor (roles/pubsub.editor
) di topik atau project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat dan mengelola topik impor Azure Event Hubs. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat dan mengelola topik impor Azure Event Hubs:
-
Buat topik impor:
pubsub.topics.create
-
Menghapus topik impor:
pubsub.topics.delete
-
Dapatkan topik impor:
pubsub.topics.get
-
Cantumkan topik impor:
pubsub.topics.list
-
Memublikasikan ke topik impor:
pubsub.topics.publish and pubsub.serviceAgent
-
Perbarui topik impor:
pubsub.topics.update
-
Dapatkan kebijakan IAM untuk topik impor:
pubsub.topics.getIamPolicy
-
Konfigurasi kebijakan IAM untuk topik impor:
pubsub.topics.setIamPolicy
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda dapat mengonfigurasi kontrol akses di level project dan level resource individual.
Menyiapkan identitas gabungan untuk mengakses Azure Event Hubs
Workload Identity Federation memungkinkan Trusted Cloud layanan mengakses beban kerja yang berjalan di luar Trusted Cloud. Dengan federasi identitas, Anda tidak perlu memelihara atau meneruskan kredensial ke Trusted Cloud untuk mengakses resource Anda di cloud lain. Sebagai gantinya, Anda dapat menggunakan identitas workload itu sendiri untuk melakukan autentikasi ke Trusted Cloud dan mengakses resource.
Buat akun layanan di Trusted Cloud
Ini langkah opsional. Jika sudah memiliki akun layanan, Anda dapat menggunakannya dalam prosedur ini, bukan membuat akun layanan baru. Jika Anda menggunakan akun layanan yang sudah ada, buka Mencatat ID unik akun layanan untuk langkah berikutnya.
Untuk topik impor Azure Event Hubs, Pub/Sub menggunakan akun layanan sebagai identitas untuk mengakses resource dari Azure.
Untuk mengetahui informasi selengkapnya tentang cara membuat akun layanan, termasuk prasyarat, peran dan izin yang diperlukan, serta panduan penamaan, lihat Membuat akun layanan. Setelah membuat akun layanan, Anda mungkin perlu menunggu selama 60 detik atau lebih sebelum menggunakan akun layanan tersebut. Perilaku ini terjadi karena operasi baca pada akhirnya konsisten; perlu waktu hingga akun layanan baru terlihat.
Mencatat ID unik akun layanan
Anda memerlukan ID unik akun layanan untuk menyiapkan Pendaftaran aplikasi di Azure.
Di konsol Trusted Cloud , buka halaman detail Service account.
Klik akun layanan yang baru saja Anda buat atau yang akan Anda gunakan.
Dari halaman Service account details, catat nomor ID Unik.
Anda memerlukan ID sebagai bagian dari alur kerja untuk menyiapkan Pendaftaran aplikasi di Azure.
Tambahkan peran pembuat token akun layanan ke akun layanan Pub/Sub
Peran pembuat token akun layanan (roles/iam.serviceAccountTokenCreator
)
memungkinkan akun utama membuat kredensial berumur pendek
untuk akun layanan. Token atau kredensial ini digunakan untuk meniru identitas
akun layanan.
Untuk informasi selengkapnya tentang peniruan akun layanan, lihat Peniruan akun layanan.
Anda juga dapat menambahkan peran penerbit Pub/Sub (roles/pubsub.publisher
)
selama prosedur ini. Untuk mengetahui informasi selengkapnya tentang peran dan alasan Anda menambahkannya,
lihat Menambahkan peran Pub/Sub Publisher ke akun layanan Pub/Sub.
Di konsol Trusted Cloud , buka halaman IAM.
Centang kotak Include S3NS-provided role grants.
Cari akun layanan yang memiliki format
service-{PROJECT_NUMBER}@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.Untuk akun layanan ini, klik tombol Edit Principal.
Jika diperlukan, klik Tambahkan peran lain.
Cari dan klik Service account token creator role (
roles/iam.serviceAccountTokenCreator
).Klik Simpan.
Membuat Pendaftaran aplikasi dengan federasi identitas
Untuk menyerap data dari Azure Event Hubs, daftarkan aplikasi dengan platform Identitas Microsoft dan aktifkan federasi identitas untuk akun layanan Anda. Tindakan ini memungkinkan akun layanan Anda melakukan autentikasi ke Azure.
Untuk mengetahui informasi selengkapnya tentang cara mendaftarkan aplikasi dengan platform Identitas Microsoft, lihat mulai cepat pendaftaran aplikasi Azure.
Login ke portal Azure dan buka halaman Microsoft Entra ID.
Di panel navigasi, klik Kelola > Pendaftaran aplikasi.
Klik New registration.
Beri nama aplikasi dan tetapkan Jenis akun yang didukung ke selain Khusus akun Microsoft pribadi.
Untuk mendaftarkan aplikasi, klik Daftar.
Buka aplikasi, lalu klik Manage > Certificates & Secrets.
Klik Tambahkan kredensial.
Untuk mengonfigurasi kredensial gabungan, klik Penerbit lain.
Untuk kolom Issuer, masukkan
https://accounts.google.com
.Untuk kolom Value, masukkan ID unik akun layanan Pub/Sub Anda.
Anda dapat menemukan ID ini di Mencatat ID unik akun layanan.
Beri nama identitas gabungan, lalu klik Tambahkan.
Memberikan penetapan peran ke Aplikasi terdaftar
Untuk mengizinkan Pub/Sub membaca dari hub peristiwa Azure Anda, berikan peran yang diperlukan ke aplikasi terdaftar Anda.
Login ke portal Azure dan buka namespace Event Hubs Anda.
Untuk membuka namespace, masukkan Event Hubs dalam penelusuran, lalu klik salah satu namespace.
Di sidebar, klik Access control (IAM).
Klik Tambahkan > Tambahkan penetapan peran.
Pilih peran Azure Event Hubs Data Receiver, lalu klik Berikutnya.
Tindakan ini akan memberi akun layanan Pub/Sub akses baca ke hub peristiwa Azure Anda.
Klik +Pilih anggota, lalu telusuri aplikasi terdaftar Anda.
Ketik nama aplikasi terdaftar di kolom penelusuran.
Klik nama aplikasi Anda, lalu klik Pilih.
Klik Tinjau + Tetapkan.
Ulangi langkah 3–6 dan tambahkan peran Pengirim Data Azure Event Hubs.
Peran ini memberikan izin Akun Layanan Google Cloud untuk mengambil metadata dari hub peristiwa Azure Anda.
Untuk mengetahui informasi selengkapnya tentang cara menetapkan peran Azure, buka halaman Menetapkan peran Azure.
Tambahkan peran penerbit Pub/Sub ke akun utama Pub/Sub
Untuk mengaktifkan publikasi, Anda harus menetapkan peran publisher ke akun layanan Pub/Sub agar Pub/Sub dapat memublikasikan ke topik impor Azure Event Hubs.
Menambahkan peran agen layanan Pub/Sub ke akun layanan Pub/Sub
Agar Pub/Sub dapat menggunakan kuota publikasi project topik impor Anda, agen layanan Pub/Sub memerlukan izin serviceusage.services.use
di project topik impor Anda.
Untuk memberikan izin ini, sebaiknya tambahkan peran agen layanan Pub/Sub ke akun layanan Pub/Sub.
Jika akun layanan Pub/Sub tidak memiliki peran agen layanan Pub/Sub, peran tersebut dapat diberikan sebagai berikut:
Di konsol Trusted Cloud , buka halaman IAM.
Centang kotak Include S3NS-provided role grants.
Cari akun layanan yang memiliki format
service-{PROJECT_NUMBER}@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.Untuk akun layanan ini, klik tombol Edit principal.
Jika diperlukan, klik Tambahkan peran lain.
Cari dan klik peran Pub/Sub Service Agent (
roles/pubsub.serviceAgent
).Klik Simpan.
Mengaktifkan publikasi dari semua topik
Gunakan metode ini jika Anda belum membuat topik impor Azure Event Hubs.
Di konsol Trusted Cloud , buka halaman IAM.
Centang kotak Include S3NS-provided role grants.
Cari akun layanan yang memiliki format
service-{PROJECT_NUMBER}@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com
.Untuk akun layanan ini, klik tombol Edit principal.
Jika diperlukan, klik Tambahkan peran lain.
Cari dan klik Pub/Sub publisher role (
roles/pubsub.publisher
).Klik Simpan.
Mengaktifkan publikasi dari satu topik
Gunakan metode ini hanya jika topik impor Azure Event Hubs sudah ada.
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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-pubsub.s3ns-system.iam.gserviceaccount.com" \ --role="roles/pubsub.publisher"
Ganti kode berikut:
TOPIC_ID
: ID topik dari topik impor Azure Event Hubs.PROJECT_NUMBER
: nomor project. Untuk melihat nomor project, lihat Mengidentifikasi project.
Di konsol Trusted Cloud , buka halaman IAM.
Untuk akun utama yang mengeluarkan panggilan buat atau perbarui topik, klik tombol Edit akun utama.
Jika diperlukan, klik Tambahkan peran lain.
Cari dan klik Service account user role (
roles/iam.serviceAccountUser
).Klik Simpan.
Membuat topik dan langganan secara terpisah, meskipun dilakukan secara berurutan dengan cepat, dapat menyebabkan hilangnya data. Ada jendela singkat tempat topik tersedia tanpa langganan. Jika ada data yang dikirim ke topik selama waktu ini, data tersebut akan hilang. Dengan membuat topik terlebih dahulu, membuat langganan, lalu mengonversi topik menjadi topik impor, Anda menjamin bahwa tidak ada pesan yang terlewat selama proses impor.
Jika perlu membuat ulang hub peristiwa Azure dari topik impor yang ada dengan nama yang sama, Anda tidak dapat hanya menghapus hub peristiwa Azure dan membuatnya ulang. Tindakan ini dapat membatalkan pengelolaan offset Pub/Sub, yang dapat menyebabkan kehilangan data. Untuk memitigasi hal ini, ikuti langkah-langkah berikut:
- Menghapus topik impor Pub/Sub
- Menghapus hub peristiwa Azure
- Buat hub peristiwa Azure
- Buat topik impor Pub/Sub
Data dari hub peristiwa Azure selalu dibaca dari offset paling awal.
Di konsol Trusted Cloud , buka halaman Topics.
Klik Create topic.
Di kolom Topic ID, masukkan ID untuk topik impor Azure Event Hubs Anda. Untuk mengetahui informasi selengkapnya tentang penamaan topik, lihat panduan penamaan.
Pilih Tambahkan langganan default.
Pilih Aktifkan penyerapan.
Untuk sumber penyerapan, pilih Azure Event Hubs.
Masukkan detail berikut:
- Grup resource: nama Grup Resource Azure yang berisi namespace Azure Event Hubs yang akan Anda masukkan ke Pub/Sub.
- Namespace Event Hub: nama namespace Azure Event Hubs yang berisi hub peristiwa Azure yang akan Anda rencanakan untuk di-ingest ke Pub/Sub.
- Event Hub: nama Azure Event Hub yang akan Anda ingest ke Pub/Sub.
- Client ID: ID aplikasi (klien) dari Aplikasi terdaftar di Azure yang berisi identitas gabungan Akun Layanan Google Cloud. Nilai ini harus berupa UUID. Untuk mengetahui informasi selengkapnya, buka halaman Pendaftaran Aplikasi Azure.
- Tenant ID: ID direktori (tenant) dari tenant yang memiliki Azure Event Hub yang akan Anda masukkan ke Pub/Sub. Nilai ini harus berupa UUID. Untuk menemukan ID tenant Anda, buka halaman Azure Get subscription and tenant IDs.
- ID Langganan: ID langganan yang memiliki grup resource Azure Event Hubs. Nilai ini harus berupa UUID. Untuk menemukan ID langganan Anda, buka halaman Azure Get subscription and tenant IDs.
- Akun layanan: akun layanan yang Anda buat di Membuat akun layanan di Trusted Cloud.
Biarkan kolom lainnya dengan nilai default.
Klik Create topic.
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Jalankan perintah
gcloud pubsub topics create
:gcloud pubsub topics create TOPIC_ID \ --azure-event-hubs-ingestion-resource-group RESOURCE_GROUP \ --azure-event-hubs-ingestion-namespace NAMESPACE \ --azure-event-hubs-ingestion-event-hub EVENT_HUB \ --azure-event-hubs-ingestion-client-id CLIENT_ID \ --azure-event-hubs-ingestion-tenant-id TENANT_ID \ --azure-event-hubs-ingestion-subscription-id SUBSCRIPTION_ID \ --azure-event-hubs-ingestion-service-account SERVICE_ACCOUNT
Ganti kode berikut:
TOPIC_ID
: nama atau ID topik Pub/Sub Anda.RESOURCE_GROUP
: nama grup resource Azure Event Hubs yang berisi namespace Azure Event Hubs yang akan Anda masukkan ke Pub/Sub.NAMESPACE
: nama namespace Azure Event Hubs yang berisi hub peristiwa Azure yang akan Anda masukkan ke Pub/Sub.EVENT_HUB
: nama Azure event hub yang akan Anda masukkan ke Pub/Sub.CLIENT_ID
: ID aplikasi (klien) dari Aplikasi terdaftar di Azure yang berisi identitas gabungan Trusted Cloud Akun Layanan. Nilai ini harus berupa UUID. Untuk informasi selengkapnya, buka halaman Pendaftaran Aplikasi Azure.TENANT_ID
: ID direktori (tenant) tenant yang memiliki hub peristiwa Azure yang akan Anda masukkan ke Pub/Sub. Nilai ini harus berupa UUID. Untuk menemukan ID tenant Anda, buka halaman Azure Get subscription and tenant IDs page.SUBSCRIPTION_ID
: ID langganan langganan yang memiliki hub peristiwa Azure yang akan Anda masukkan ke Pub/Sub. Nilai ini harus berupa UUID. Untuk menemukan ID langganan Anda, buka halaman Azure Get subscription and tenant IDs.SERVICE_ACCOUNT
: akun layanan yang Anda buat di Membuat akun layanan di Trusted Cloud
Di konsol Trusted Cloud , buka halaman Topics.
Klik topik impor Azure Event Hubs.
Di halaman detail topik, klik Edit.
Perbarui kolom yang ingin Anda ubah.
Klik Perbarui.
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Jalankan perintah
gcloud pubsub topics update
dengan semua flag yang disebutkan dalam contoh berikut:gcloud pubsub topics update TOPIC_ID \ --azure-event-hubs-ingestion-resource-group RESOURCE_GROUP \ --azure-event-hubs-ingestion-namespace NAMESPACE \ --azure-event-hubs-ingestion-event-hub EVENT_HUB \ --azure-event-hubs-ingestion-client-id CLIENT_ID \ --azure-event-hubs-ingestion-tenant-id TENANT_ID \ --azure-event-hubs-ingestion-subscription-id SUBSCRIPTION_ID \ --azure-event-hubs-ingestion-service-account SERVICE_ACCOUNT
Ganti kode berikut:
TOPIC_ID
: nama atau ID topik Pub/Sub Anda.RESOURCE_GROUP
: nama grup resource Azure Event Hubs yang berisi namespace Azure Event Hubs yang Anda masukkan ke Pub/Sub.NAMESPACE
: nama namespace Azure Event Hubs yang berisi Azure Event Hub yang Anda masukkan ke Pub/Sub.EVENT_HUB
: nama hub peristiwa Azure yang Anda masukkan ke Pub/Sub.CLIENT_ID
: ID aplikasi (klien) dari Aplikasi terdaftar di Azure yang berisi identitas gabungan Trusted Cloud Akun Layanan. Nilai ini harus berupa UUID. Untuk mengetahui informasi selengkapnya, lihat halaman Pendaftaran Aplikasi Azure.TENANT_ID
: ID direktori (tenant) tenant yang memiliki Azure Event Hubs yang Anda masukkan ke Pub/Sub. Nilai ini harus berupa UUID. Untuk menemukan ID tenant Anda, lihat buka halaman Azure Get subscription and tenant IDs.SUBSCRIPTION_ID
: ID langganan langganan yang memiliki hub peristiwa Azure yang Anda lakukan penyerapan ke Pub/Sub. Nilai ini harus berupa UUID. Untuk menemukan ID langganan Anda, lihat Azure Get subscription and tenant IDs.SERVICE_ACCOUNT
: akun layanan yang Anda buat di Membuat akun layanan di Trusted Cloud
Pilih jenis langganan untuk topik Anda.
Pelajari cara memublikasikan pesan ke topik.
Buat atau ubah topik dengan gcloud CLI, REST API, atau Library klien.
Menambahkan peran pengguna akun layanan ke akun layanan
Peran Pengguna Akun Layanan (roles/iam.serviceAccountUser
) mencakup
izin iam.serviceAccounts.actAs
yang memungkinkan akun utama melampirkan akun
layanan ke setelan penyerapan topik impor Azure Event Hubs dan
menggunakan akun layanan tersebut untuk identitas gabungan.
Menggunakan topik impor Azure Event Hubs
Anda dapat membuat topik impor baru atau mengedit topik yang ada.
Pertimbangan
Membuat topik impor Azure Event Hubs
Untuk mengetahui lebih lanjut properti yang terkait dengan topik, lihat Properti topik.
Pastikan Anda telah menyelesaikan prosedur berikut:
Untuk membuat topik impor Azure Event Hubs, ikuti langkah-langkah berikut:
Konsol
gcloud
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
Go
Contoh berikut menggunakan library klien Go Pub/Sub versi utama (v2). Jika Anda masih menggunakan library v1, lihat panduan migrasi ke v2. Untuk melihat daftar contoh kode v1, lihat contoh kode yang tidak digunakan lagi.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Go API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Java API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Node.ts
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
Jika Anda mengalami masalah, lihat Memecahkan masalah topik impor Azure Event Hubs.
Mengedit topik impor Azure Event Hubs
Untuk mengedit setelan sumber data penyerapan topik impor Azure Event Hubs, ikuti langkah-langkah berikut:
Konsol
gcloud
Kuota dan batas
Throughput penayang untuk topik impor dibatasi oleh kuota publikasi topik. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas Pub/Sub.