Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan konsep utama dan fungsionalitas yang terkait dengan topik namespace.
Acara
Peristiwa adalah jumlah informasi terkecil yang sepenuhnya menjelaskan sesuatu yang terjadi dalam sistem. Peristiwa sering disebut peristiwa diskrit karena mewakili fakta yang berbeda dan berdiri sendiri tentang sistem yang memberikan wawasan yang dapat ditindaklanjuti. Setiap peristiwa memiliki informasi umum seperti source peristiwa, time acara berlangsung, dan pengidentifikasi unik. Setiap acara juga memiliki type, yang biasanya merupakan pengidentifikasi unik yang menjelaskan jenis pengumuman tempat peristiwa digunakan.
Misalnya, peristiwa tentang pembuatan file baru di Azure Storage memiliki detail file, seperti nilai lastTimeModified. Peristiwa Azure Event Hubs memiliki URL file yang diambil. Kejadian tentang pesanan baru dalam layanan mikro Orders Anda mungkin memiliki atribut orderId dan atribut URL yang mengarah ke representasi status pesanan tersebut. Beberapa contoh jenis peristiwa lainnya meliputi: com.yourcompany.Orders.OrderCreated, , org.yourorg.GeneralLedger.AccountChangedio.solutionname.Auth.MaximumNumberOfUserLoginAttemptsReached.
Berikut contoh peristiwa:
{
"specversion" : "1.0",
"type" : "com.yourcompany.order.created",
"source" : "/orders/account/123",
"subject" : "O-28964",
"id" : "A234-1234-1234",
"time" : "2018-04-05T17:31:00Z",
"comexampleextension1" : "value",
"comexampleothervalue" : 5,
"datacontenttype" : "application/json",
"data" : {
"orderId" : "O-28964",
"URL" : "https://com.yourcompany/orders/O-28964"
}
}
Jenis peristiwa lain
Komunitas pengguna juga merujuk pada pesan yang membawa titik data, seperti satu pembacaan perangkat atau klik pada halaman aplikasi web, sebagai "peristiwa." Anda biasanya menganalisis peristiwa semacam ini selama jendela waktu untuk mendapatkan wawasan dan mengambil tindakan. Dalam dokumentasi Event Grid, peristiwa semacam ini disebut titik data, data streaming, atau hanya telemetri. Fitur broker Message Queuing Telemetry Transport (MQTT) Event Grid menggunakan peristiwa semacam ini, di antara jenis pesan lainnya.
Dukungan untuk CloudEvents
Topik namespace Event Grid menerima peristiwa yang mematuhi spesifikasi standar terbuka Cloud Native Computing Foundation (CNCF) CloudEvents 1.0 menggunakan pengikatan protokol HTTP dengan format JSON. CloudEvent adalah semacam pesan yang berisi apa yang sedang dikomunikasikan, disebut sebagai data peristiwa, dan metadata tentang hal itu. Data peristiwa dalam arsitektur berbasis peristiwa biasanya membawa informasi yang mengumumkan perubahan status sistem. Metadata CloudEvents terdiri dari sekumpulan atribut yang memberikan informasi kontekstual tentang pesan, seperti asalnya (sistem sumber) dan jenisnya.
Untuk informasi selengkapnya, lihat Dukungan untuk skema CloudEvents.
Penerbit
Penerbit adalah aplikasi yang mengirim peristiwa ke Event Grid. Ini bisa menjadi aplikasi yang sama tempat peristiwa berasal, sumber peristiwa. Anda dapat memublikasikan event dari aplikasi Anda sendiri saat menggunakan topik namespace.
Sumber Kejadian
Sumber kejadian adalah tempat peristiwa terjadi. Setiap sumber peristiwa mendukung satu atau beberapa jenis peristiwa. Misalnya, aplikasi Anda adalah sumber peristiwa untuk peristiwa kustom yang ditentukan sistem Anda. Saat menggunakan topik namespace, sumber peristiwa yang didukung adalah aplikasi Anda sendiri.
Namaspace
Namespace Event Grid adalah wadah pengelolaan untuk sumber daya berikut:
| Sumber daya | Protokol yang didukung |
|---|---|
| Topik ruang nama | HTTP |
| Ruang Topik | MQTT |
| Klien | MQTT |
| Kelompok Klien | MQTT |
| Sertifikat CA | MQTT |
| Pengikatan izin | MQTT |
Dengan menggunakan namespace Azure Event Grid, Anda dapat mengelompokkan sumber daya terkait dan mengelolanya sebagai satu unit dalam langganan Azure Anda. Ini memberi Anda nama domain unik yang sepenuhnya memenuhi syarat (FQDN).
Namespace mengekspos dua titik akhir:
- Titik akhir HTTP untuk mendukung persyaratan pesan umum dengan menggunakan topik namespace.
- Endpoint MQTT untuk perpesanan IoT atau solusi yang menggunakan MQTT.
Sebuah namespace juga menyediakan endpoint jaringan yang terintegrasi dengan DNS. Ini juga menyediakan berbagai kontrol akses dan fitur manajemen integrasi jaringan seperti pemfilteran masuk IP publik dan tautan privat. Ini juga merupakan wadah identitas terkelola yang digunakan untuk sumber daya dalam namespace.
Berikut adalah beberapa poin tambahan tentang namespace:
- Ruang nama adalah sumber daya yang dilacak yang memiliki properti
tagsdanlocation. Setelah membuatnya, Anda dapat menemukannya diresources.azure.com. - Nama namespace dapat memiliki panjang 3-50 karakter. Ini dapat mencakup karakter alfanumerik, tanda hubung (-), dan tanpa spasi.
- Nama harus unik per wilayah.
Satuan throughput
Unit throughput (TU) menentukan kapasitas laju kejadian masuk dan keluar dalam namespace. Untuk informasi selengkapnya, lihat Kuota dan batasan Azure Event Grid.
Skala otomatis
Skala otomatis secara otomatis menyesuaikan jumlah unit throughput yang ditetapkan ke namespace Event Grid berdasarkan lalu lintas real-time dan pemanfaatan sumber daya. Ini terus memantau indikator kinerja utama dan menskalakan kapasitas dalam batas minimum dan maksimum yang Anda konfigurasikan. Perilaku ini membantu mempertahankan performa yang konsisten selama lonjakan beban kerja dan mengurangi biaya selama periode aktivitas rendah tanpa memerlukan intervensi manual.
Untuk menggunakan Skala Otomatis, Anda mengaktifkannya di namespace dan menentukan:
- Unit throughput minimum: Batas bawah kapasitas. Namespace tidak menskalakan di bawah nilai ini.
- Unit throughput maksimum: Batas atas kapasitas. Namespace tidak menskalakan di atas nilai ini.
Event Grid mengevaluasi penggunaan berdasarkan ingres peristiwa, egres peristiwa, laju publikasi masuk dan keluar MQTT, serta jumlah klien MQTT yang terdaftar. Ketika kategori mana pun melebihi ambang batas penskalaan ke atas, lebih banyak TU akan disediakan. Ketika semua kategori berada di bawah ambang penurunan skala, TU dilepas. Masa tunggu di antara proses penskalaan mencegah osilasi yang cepat.
Skala otomatis berguna untuk beban kerja MQTT, di mana penyebaran pesan dan pertumbuhan langganan dapat berubah dengan cepat saat perangkat terhubung dan terputus. Ini juga bermanfaat untuk beban kerja event broker dengan pola lalu lintas yang melonjak-lonjak.
Untuk detail konfigurasi dan batas kapasitas per TU, lihat gambaran umum Autoscale dan panduan.
Topik
Topik menyimpan peristiwa yang telah diterbitkan ke Event Grid. Anda biasanya menggunakan sumber daya topik untuk kumpulan peristiwa terkait. Topik di dalam namespace sering disebut topik namespace.
Topik ruang nama
Topik namespace adalah topik yang dibuat dalam namespace Event Grid. Aplikasi Anda menerbitkan peristiwa ke titik akhir namespace HTTP yang menentukan topik namespace tempat peristiwa yang diterbitkan dimuat secara logis. Saat Anda merancang aplikasi, tentukan berapa banyak topik yang akan dibuat. Untuk solusi yang relatif besar, buat topik namespace untuk setiap kategori kejadian terkait. Misalnya, pertimbangkan aplikasi yang mengelola akun pengguna dan aplikasi lain tentang pesanan pelanggan. Kecil kemungkinan semua pelanggan event menginginkan event dari kedua aplikasi. Untuk memisahkan cakupan, buat dua topik namespace: satu untuk setiap aplikasi. Izinkan konsumen event berlangganan topik sesuai kebutuhan mereka. Untuk solusi kecil, Anda mungkin lebih suka mengirim semua peristiwa ke satu topik.
Topik namespace mendukung pengiriman tarik dan pengiriman dorong. Lihat kapan menggunakan pengiriman pull atau push untuk membantu Anda memutuskan apakah pengiriman pull adalah pendekatan yang tepat berdasarkan kebutuhan Anda.
Langganan acara
Langganan peristiwa adalah sumber daya konfigurasi yang terkait dengan satu topik. Antara lain, gunakan langganan peristiwa untuk mengatur kriteria pemilihan peristiwa guna menentukan kumpulan peristiwa yang tersedia bagi pelanggan dari total kumpulan peristiwa yang tersedia dalam suatu topik. Anda dapat memfilter peristiwa sesuai dengan persyaratan pelanggan. Misalnya, Anda dapat memfilter peristiwa berdasarkan jenis peristiwanya. Anda juga dapat menentukan kriteria filter pada properti data peristiwa jika Anda menggunakan objek JSON sebagai nilai untuk properti data . Untuk informasi selengkapnya tentang properti sumber daya, lihat dokumentasi Event Grid REST API .
Untuk contoh membuat langganan untuk topik namespace, lihat Menerbitkan dan menggunakan pesan menggunakan topik namespace menggunakan CLI.
Catatan
Langganan peristiwa di bawah topik namespace menampilkan model sumber daya yang disederhanakan jika dibandingkan dengan model yang digunakan untuk topik kustom, domain, mitra, dan sistem (Event Grid Basic). Untuk informasi selengkapnya, lihat Membuat, menampilkan, dan mengelola langganan peristiwa.
Pengiriman penarikan
Dengan pengiriman pull, aplikasi Anda terhubung ke Event Grid untuk membaca pesan menggunakan semantik mirip antrean. Saat aplikasi terhubung ke Event Grid untuk mengonsumsi peristiwa, aplikasi mengontrol tingkat konsumsi peristiwa dan waktu. Aplikasi konsumen juga dapat menggunakan titik akhir privat saat menyambungkan ke Event Grid untuk membaca peristiwa menggunakan ruang IP privat.
Pengiriman tarik mendukung operasi berikut untuk membaca pesan dan mengontrol status pesan: menerima, mengakui, melepaskan, menolak, dan memperbarui kunci. Untuk informasi selengkapnya, lihat gambaran umum pull delivery.
Bentuk data saat menerima peristiwa menggunakan pengiriman pull
Saat Anda mengirimkan peristiwa dengan menggunakan pengiriman pull, Event Grid menyertakan array objek yang pada gilirannya mencakup objek peristiwa dan brokerProperties . Nilai properti event adalah CloudEvent yang dikirim dalam mode konten terstruktur. Objek brokerProperties berisi token kunci yang terkait dengan CloudEvent yang dikirimkan. Objek JSON berikut adalah respons sampel dari operasi penerimaan yang mengembalikan dua peristiwa:
{
"value": [
{
"brokerProperties": {
"lockToken": "CiYKJDUwNjE4QTFFLUNDODQtNDZBQy1BN0Y4LUE5QkE3NjEwNzQxMxISChDXYS23Z+5Hq754VqQjxywE",
"deliveryCount": 2
},
"event": {
"specversion": "1.0",
"id": "A234-1234-1235",
"source": "/mycontext",
"time": "2018-04-05T17:31:00Z",
"type": "com.example.someeventtype",
"data": "some data"
}
},
{
"brokerProperties": {
"lockToken": "CiYKJDUwNjE4QTFFLUNDODQtNDZBQy1BN0Y4LUE5QkE3NjEwNzQxMxISChDLeaL+nRJLNq3/5NXd/T0b",
"deliveryCount": 1
},
"event": {
"specversion": "1.0",
"id": "B688-1234-1235",
"source": "/mycontext",
"type": "com.example.someeventtype",
"time": "2018-04-05T17:31:00Z",
"data": {
"somekey" : "value",
"someOtherKey" : 9
}
}
}
]
}
Pengiriman push
Dengan pengiriman push, Event Grid mengirimkan peristiwa ke tujuan yang dikonfigurasi dalam langganan peristiwa mode pengiriman push. Ini menyediakan logika coba lagi yang kuat jika tujuan tidak dapat menerima peristiwa.
Penting
Pengiriman push namespace Event Grid saat ini mendukung Azure Event Hubs sebagai tujuan pengiriman. Di masa mendatang, namespace Event Grid akan mendukung lebih banyak tujuan, termasuk semua tujuan yang didukung oleh Event Grid Basic.
Pengiriman peristiwa Event Hubs
Event Grid menggunakan Event Hubs SDK untuk mengirim peristiwa ke Azure Event Hubs menggunakan AMQP. Kejadian dikirim sebagai larik byte, dengan setiap elemen dalam larik berisi CloudEvent.
Pendorongan dan penarikan pengiriman
Event Grid mendukung pengiriman kejadian dengan metode push dan pull menggunakan HTTP. Dengan pengiriman push, Anda menentukan tujuan dalam langganan peristiwa, webhook, atau layanan Azure, yang menjadi tujuan Event Grid mengirimkan peristiwa. Dengan pengiriman pull, aplikasi pelanggan terhubung ke Event Grid untuk mengonsumsi kejadian. Pengiriman pull didukung untuk topik dalam namespace Event Grid.
Penting
Event Hubs didukung sebagai tujuan untuk langganan ke topik namespace. Dalam rilis mendatang, Namespace Event Grid akan mendukung semua tujuan yang saat ini tersedia di Event Grid Basic bersama dengan tujuan tambahan.
Kapan menggunakan pengiriman push vs. pengiriman penarikan
Berikut ini adalah panduan umum untuk membantu Anda memutuskan kapan harus menggunakan pengiriman pull atau push.
Pengiriman penarikan
- Anda memerlukan kontrol penuh kapan harus menerima peristiwa. Misalnya, aplikasi Anda mungkin tidak aktif sepanjang waktu, tidak cukup stabil, atau Anda memproses data pada waktu tertentu.
- Anda memerlukan kendali penuh atas penanganan peristiwa. Misalnya, layanan atau lapisan hilir di aplikasi konsumen Anda memiliki masalah yang mencegah Anda memproses peristiwa. Dalam hal ini, API pull delivery memungkinkan aplikasi konsumen untuk mengembalikan event yang sudah dibaca ke broker agar dapat dikirimkan lagi nanti.
- Anda ingin menggunakan private link saat menerima event, yang hanya dimungkinkan dengan metode pull delivery, bukan push delivery.
- Anda tidak memiliki kemampuan untuk mengekspos endpoint dan menggunakan push delivery, tetapi Anda dapat terhubung ke Event Grid untuk menerima event.
Pengiriman push
- Anda ingin menghindari polling konstan untuk menentukan bahwa perubahan status sistem telah terjadi. Anda lebih suka menggunakan Event Grid untuk mengirim peristiwa kepada Anda pada saat perubahan status terjadi.
- Anda memiliki aplikasi yang tidak dapat melakukan panggilan keluar. Misalnya, organisasi Anda mungkin khawatir tentang penyelundupan data. Namun, aplikasi Anda dapat menerima event melalui endpoint publik.
Konten terkait
- Untuk pengantar Event Grid, lihat Tentang Event Grid.
- Untuk mulai menggunakan topik namespace, lihat Menerbitkan peristiwa menggunakan topik namespace.