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.
BERLAKU UNTUK: Semua tingkat API Management
Artikel ini menjelaskan cara mencatat peristiwa API Management dengan menggunakan Azure Event Hubs.
Azure Event Hubs adalah layanan masuk data yang sangat terukur yang menyerap jutaan peristiwa per detik sehingga Anda dapat memproses dan menganalisis data dalam jumlah sangat besar yang dihasilkan oleh perangkat dan aplikasi Anda yang terhubung. Event Hubs berfungsi sebagai "pintu depan" untuk jalur peristiwa, dan setelah data dikumpulkan ke Event Hub, Anda dapat mengubah dan menyimpannya dengan menggunakan penyedia analitik real-time atau adaptor batching/penyimpanan. Event Hubs memisahkan produksi aliran kejadian dari konsumsi kejadian tersebut, sehingga konsumen kejadian dapat mengakses kejadian sesuai jadwal mereka sendiri.
Catatan
Saat ini, fitur ini tidak tersedia di ruang kerja.
Prasyarat
- Sebuah instans layanan API Management. Jika Anda tidak memilikinya, lihat Membuat instans layanan API Management.
- Namespace layanan Azure Event Hubs dan pusat aktivitas. Untuk langkah-langkah mendetail, lihat Membuat namespace layanan Azure Event Hubs dan pusat aktivitas menggunakan portal Azure.
Catatan
Sumber daya Azure Event Hubs dapat berada di langganan yang berbeda atau bahkan penyewa yang berbeda dari sumber daya API Management.
Mengonfigurasi akses ke pusat aktivitas
Untuk mencatat peristiwa ke pusat aktivitas, Anda perlu mengonfigurasi kredensial untuk akses dari API Management. API Management mendukung salah satu dari dua mekanisme akses berikut:
- Identitas terkelola untuk instans API Management Anda (disarankan)
- String koneksi Event Hubs
Catatan
Kami menyarankan agar Anda menggunakan kredensial identitas terkelola jika memungkinkan, untuk keamanan yang ditingkatkan.
Opsi 1: Mengonfigurasi identitas terkelola API Management
Aktifkan identitas terkelola yang ditetapkan sistem atau pengguna untuk API Management di instans API Management Anda.
- Jika Anda mengaktifkan identitas terkelola yang ditetapkan pengguna, perhatikan identitas Object ID tersebut.
Tetapkan identitas peran pengirim Data Azure Event Hubs, yang dilingkupkan ke namespace Event Hubs atau ke hub peristiwa yang digunakan untuk pencatatan. Untuk menetapkan peran, gunakan portal Microsoft Azure atau alat Azure lainnya.
Opsi 2: Mengonfigurasi string koneksi Event Hubs
Untuk membuat string koneksi Event Hubs, lihat Mendapatkan string koneksi Event Hubs.
- Anda dapat menggunakan string koneksi untuk namespace Layanan Pusat Aktivitas atau untuk hub peristiwa tertentu yang Anda gunakan untuk pengelogan dari API Management.
- Kebijakan akses bersama untuk string koneksi harus mengaktifkan izin setidaknya Kirim.
Membuat pencatat API Management
Langkah selanjutnya adalah mengonfigurasi pencatat di layanan API Management Anda sehingga dapat mencatat peristiwa ke hub peristiwa.
Buat dan kelola pencatat API Management dengan menggunakan API Management REST API secara langsung atau dengan menggunakan alat lain, seperti Azure PowerShell, file Bicep, atau templat Azure Resource Management.
Opsi 1: Buat pencatat dengan kredensial identitas terkelola (disarankan)
Anda dapat mengonfigurasi pencatat API Management ke pusat aktivitas dengan menggunakan kredensial identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna.
Membuat pencatat dengan kredensial identitas terkelola yang ditetapkan sistem
Untuk prasyarat, lihat Mengonfigurasi identitas terkelola API Management.
Gunakan API Management Logger - Buat atau Perbarui anggota REST API dengan isi permintaan berikut.
{
"properties": {
"loggerType": "azureEventHub",
"description": "Event Hub logger with system-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"SystemAssigned",
"name":"<EventHubName>"
}
}
}
Membuat pencatat dengan kredensial identitas terkelola yang ditetapkan pengguna
Untuk prasyarat, lihat Mengonfigurasi identitas terkelola API Management.
Gunakan API Management Logger - Buat atau Perbarui anggota REST API dengan isi permintaan berikut.
{
"properties": {
"loggerType": "azureEventHub",
"description": "Event Hub logger with user-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"<ClientID>",
"name":"<EventHubName>"
}
}
}
Opsi 2. Membuat logger dengan kredensial string koneksi
Untuk prasyarat, lihat Mengonfigurasi string koneksi Azure Event Hubs.
Catatan
Kami menyarankan agar Anda mengonfigurasi pencatat dengan kredensial identitas terkelola jika memungkinkan. Lihat Mengonfigurasi pencatat dengan kredensial identitas terkelola, sebelumnya di artikel ini.
Contoh berikut menggunakan cmdlet New-AzApiManagementLogger untuk membuat pencatat ke pusat aktivitas dengan mengonfigurasi string koneksi.
# Details specific to API Management
$apimServiceName = "apim-hello-world"
$resourceGroupName = "myResourceGroup"
# Create logger
$context = New-AzApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $apimServiceName
New-AzApiManagementLogger -Context $context -LoggerId "ContosoLogger1" -Name "ApimEventHub" -ConnectionString "Endpoint=sb://<EventHubsNamespace>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<key>" -Description "Event hub logger with connection string"
Mengonfigurasi kebijakan pengiriman log ke EventHub
Setelah pencatat dikonfigurasi di API Management, Anda dapat mengonfigurasi kebijakan log-to-eventhub untuk mencatat peristiwa yang diinginkan. Misalnya, gunakan log-to-eventhub kebijakan di bagian kebijakan masuk untuk mencatat permintaan, atau di bagian kebijakan keluar untuk mencatat respons.
Buka instans API Management Anda.
Di bawah API, pilih API, lalu pilih API yang ingin Anda tambahkan kebijakannya. Dalam contoh ini, kami menambahkan kebijakan ke API Echo di produk Tidak Terbatas.
Pada tab Desain , pilih Semua operasi.
Di panel Pemrosesan masuk atau Pemrosesan keluar , pilih tombol </> (Editor kode kebijakan). Untuk informasi selengkapnya, lihat Cara mengatur atau mengedit kebijakan.
Tempatkan kursor Anda di
inboundatau bagian kebijakanoutbound.Pilih Perlihatkan cuplikan di bagian atas tab. Pilih Kebijakan> tingkat lanjutMasuk ke EventHub. Tindakan ini menyisipkan
log-to-eventhubtemplat pernyataan kebijakan.<log-to-eventhub logger-id="logger-id"> @{ return new JObject( new JProperty("EventTime", DateTime.UtcNow.ToString()), new JProperty("ServiceName", context.Deployment.ServiceName), new JProperty("RequestId", context.RequestId), new JProperty("RequestIp", context.Request.IpAddress), new JProperty("OperationName", context.Operation.Name) ).ToString(); } </log-to-eventhub>- Ganti
logger-iddengan nama pencatat yang Anda buat di langkah sebelumnya. - Anda dapat menggunakan ekspresi mana pun yang mengembalikan string sebagai nilai untuk elemen
log-to-eventhub. Dalam contoh ini, string dalam format JSON yang berisi tanggal dan waktu, nama layanan, ID permintaan, alamat IP permintaan, dan nama operasi akan dicatat.
- Ganti
Pilih Simpan untuk menyimpan konfigurasi kebijakan yang diperbarui. Segera setelah konfigurasi disimpan, kebijakan aktif dan peristiwa dicatat ke hub peristiwa yang ditunjuk.
Catatan
Ukuran pesan maksimum yang didukung yang dapat dikirim ke hub kejadian dari kebijakan API Management ini adalah 200 kilobyte (KB). Jika pesan yang dikirim ke pusat aktivitas lebih besar dari 200 KB, pesan tersebut secara otomatis dipotong, dan pesan terpotong ditransfer ke hub peristiwa. Untuk pesan yang lebih besar, pertimbangkan untuk menggunakan Azure Storage dengan API Management sebagai solusi untuk melewati batas 200 KB. Untuk informasi selengkapnya, lihat Mengirim permintaan ke Azure Storage dari API Management.
Pratinjau log di Azure Event Hubs dengan menggunakan Azure Stream Analytics
Anda dapat melakukan pratinjau log di Azure Event Hubs dengan menggunakan kueri Azure Stream Analytics.
- Di portal Microsoft Azure, buka pusat aktivitas tempat pencatat mengirim peristiwa.
- Di bawah Fitur, pilih Proses data.
- Pada kartu Aktifkan wawasan waktu nyata dari acara, pilih Mulai.
- Anda akan bisa mempratinjau log pada tab Pratinjau input. Jika data yang ditampilkan bukan data terkini, pilih Refresh untuk melihat peristiwa terbaru.
Konten terkait
- Pelajari selengkapnya tentang Azure Event Hubs
- Pelajari selengkapnya tentang integrasi API Management dan Event Hubs
- Pelajari selengkapnya tentang integrasi dengan Azure Application Insights