Bagikan melalui


Konsep namespace Layanan Azure Event Grid

Artikel ini memperkenalkan Anda pada konsep utama dan fungsionalitas yang terkait dengan topik namespace.

Acara

Peristiwa adalah jumlah informasi terkecil yang sepenuhnya menjelaskan sesuatu yang terjadi dalam sistem. Kami sering menyebut peristiwa sebagai 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. Peristiwa setiap juga memiliki type, yang biasanya merupakan pengidentifikasi unik yang menjelaskan jenis pengumuman tempat peristiwa digunakan.

Misalnya, kejadian tentang file baru yang sedang dibuat di Azure Storage memiliki detail tentang file, seperti lastTimeModified nilainya. Peristiwa Azure Event Hubs memiliki URL file yang diambil. Peristiwa tentang urutan baru dalam layanan mikro Pesanan Anda mungkin memiliki orderId atribut dan atribut URL ke representasi status pesanan. 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 sebagai "peristiwa" ke pesan yang membawa titik data, seperti satu pembacaan perangkat atau klik pada halaman aplikasi web. Peristiwa semacam itu biasanya dianalisis selama jendela waktu untuk mendapatkan wawasan dan mengambil tindakan. Dalam dokumentasi Event Grid, kami menyebut peristiwa semacam itu sebagai titik data, data streaming, atau hanya sebagai telemetri. Di antara jenis pesan lainnya, peristiwa semacam ini digunakan dengan fitur broker Message Queuing Telemetry Transport (MQTT) Event Grid.

Dukungan untuk CloudEvents

Topik namespace Layanan Event Grid menerima peristiwa yang mematuhi spesifikasi Cloud Native Computing Foundation (CNCF) CloudEvents 1.0 standar terbuka menggunakan protokol HTTP yang mengikat 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), jenisnya, dll.

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 menerbitkan peristiwa dari aplikasi Anda sendiri saat menggunakan topik namespace layanan.

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 layanan, sumber peristiwa yang didukung adalah aplikasi Anda sendiri.

Namaspace

Namespace Layanan Event Grid adalah kontainer manajemen untuk sumber daya berikut:

Sumber daya Protokol yang didukung
Topik namespace HTTP
Spasi Topik MQTT
Klien MQTT
Grup Klien MQTT
Sertifikat CA MQTT
Pengikatan izin MQTT

Dengan namespace Azure Event Grid, Anda dapat mengelompokkan sumber daya terkait dan mengelolanya sebagai satu unit di 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 olahpesan umum menggunakan topik namespace.
  • Titik akhir MQTT untuk Olahpesan IoT atau solusi yang menggunakan MQTT.

Namespace layanan juga menyediakan titik akhir jaringan terintegrasi DNS. Ini juga menyediakan berbagai kontrol akses dan fitur manajemen integrasi jaringan seperti pemfilteran masuk IP publik dan tautan privat. Ini juga kontainer identitas terkelola yang digunakan untuk sumber daya yang terkandung di namespace layanan.

Berikut adalah beberapa poin lagi tentang namespace layanan:

  • Namespace adalah sumber daya terlacak dengan tags properti dan location , dan setelah dibuat, itu dapat ditemukan di resources.azure.com.
  • Nama namespace dapat memiliki panjang 3-50 karakter. Ini dapat mencakup alfanumerik, dan tanda hubung(-), dan tanpa spasi.
  • Nama harus unik per wilayah.

Unit throughput

Unit throughput (TU) menentukan kapasitas laju peristiwa masuk dan keluar di namespace layanan. Untuk informasi selengkapnya, lihat Kuota dan batasan Azure Event Grid.

Topik

Topik menyimpan peristiwa yang telah diterbitkan ke Event Grid. Anda biasanya menggunakan sumber daya topik untuk kumpulan peristiwa terkait. Kami sering menyebut topik di dalam namespace sebagai topik namespace.

Topik namespace

Topik namespace adalah topik yang dibuat dalam namespace Layanan Event Grid. Aplikasi Anda menerbitkan peristiwa ke titik akhir namespace HTTP yang menentukan topik namespace tempat peristiwa yang diterbitkan dimuat secara logis. Saat merancang aplikasi, Anda harus memutuskan berapa banyak topik yang akan dibuat. Untuk solusi yang relatif besar, buat topik namespace layanan untuk setiap kategori peristiwa terkait. Misalnya, pertimbangkan aplikasi yang mengelola akun pengguna dan aplikasi lain tentang pesanan pelanggan. Tidak mungkin semua pelanggan peristiwa menginginkan peristiwa dari kedua aplikasi. Untuk memisahkan masalah, buat dua topik namespace layanan: satu untuk setiap aplikasi. Biarkan konsumen peristiwa berlangganan topik sesuai dengan persyaratan mereka. Untuk solusi kecil, Anda mungkin lebih suka mengirim semua peristiwa ke satu topik.

Topik namespace mendukung pengiriman penarikan dan pengiriman push. Lihat kapan menggunakan pengiriman penarikan atau pendorongan untuk membantu Anda memutuskan apakah pengiriman penarikan adalah pendekatan yang tepat mengingat kebutuhan Anda.

Langganan acara

Langganan peristiwa adalah sumber daya konfigurasi yang terkait dengan satu topik. Antara lain, Anda menggunakan langganan peristiwa untuk mengatur kriteria pemilihan peristiwa untuk menentukan koleksi peristiwa yang tersedia untuk pelanggan dari kumpulan total peristiwa yang tersedia dalam 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 menggunakan objek JSON sebagai nilai untuk properti data . Untuk informasi selengkapnya tentang properti sumber daya, cari operasi sarana kontrol di Event Grid REST API.

Diagram memperlihatkan topik dan langganan peristiwa terkait.

Untuk contoh membuat langganan untuk topik namespace, lihat Menerbitkan dan menggunakan pesan menggunakan topik namespace menggunakan CLI.

Catatan

Langganan peristiwa di bawah topik namespace fitur model sumber daya yang disederhanakan jika dibandingkan dengan 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 tarik, aplikasi Anda terhubung ke Event Grid untuk membaca pesan menggunakan semantik seperti antrean. Saat aplikasi terhubung ke Event Grid untuk mengonsumsi peristiwa, aplikasi tersebut memegang kendali atas tingkat konsumsi peristiwa dan waktunya. 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 pengiriman penarikan.

Bentuk data saat menerima peristiwa menggunakan pengiriman pull

Saat mengirimkan peristiwa menggunakan pengiriman pull, Event Grid menyertakan array objek yang pada gilirannya mencakup objek peristiwa dan brokerProperties . Nilai properti peristiwa adalah CloudEvent yang dikirimkan dalam con terstruktur mode tenda. 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 push (mode pengiriman dalam). Ini menyediakan logika coba lagi yang kuat jika tujuan tidak dapat menerima peristiwa.

Penting

Pengiriman push namespace Layanan Event Grid saat ini mendukung Azure Event Hubs sebagai tujuan. Di masa mendatang, namespace Event Grid akan mendukung lebih banyak tujuan, termasuk semua tujuan yang didukung oleh Event Grid Basic.

Pengiriman peristiwa Azure Event Hubs

Event Grid menggunakan Event Hubs SDK untuk mengirim peristiwa ke Azure Event Hubs menggunakan AMQP. Peristiwa dikirim sebagai array byte dengan setiap elemen dalam array yang berisi CloudEvent.

Pendorongan dan penarikan pengiriman

Event Grid mendukung pengiriman peristiwa pendorongan dan penarikan menggunakan HTTP. Dengan pengiriman push, Anda menentukan tujuan dalam langganan peristiwa, webhook, atau layanan Azure, tempat Event Grid mengirim peristiwa. Dengan pengiriman pull, aplikasi pelanggan terhubung ke Event Grid untuk mengonsumsi peristiwa. Pengiriman penarikan didukung untuk topik di namespace Layanan Event Grid.

Penting

Azure Event Hubs didukung sebagai tujuan langganan ke topik namespace layanan. Dalam rilis mendatang, Namespace Event Grid akan mendukung semua tujuan yang saat ini tersedia di Event Grid Basic bersama dengan tujuan tambahan.

Diagram tingkat tinggi memperlihatkan pengiriman push dan pengiriman tarik dengan jenis sumber daya yang terlibat.

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 kontrol penuh atas konsumsi peristiwa. Misalnya, layanan atau lapisan hilir di aplikasi konsumen Anda memiliki masalah yang mencegah Anda memproses peristiwa. Dalam hal ini, API pengiriman penarikan memungkinkan aplikasi konsumen untuk merilis peristiwa yang sudah dibaca kembali ke broker sehingga dapat dikirimkan nanti.
  • Anda ingin menggunakan tautan privat saat menerima peristiwa, yang hanya dimungkinkan dengan pengiriman pull, bukan pengiriman push.
  • Anda tidak memiliki kemampuan untuk mengekspos titik akhir dan menggunakan pengiriman push, tetapi Anda dapat terhubung ke Event Grid untuk menggunakan peristiwa.

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 peristiwa melalui titik akhir publik.

Langkah berikutnya