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.
Azure Event Hubs adalah layanan terbitkan-berlangganan yang sangat dapat diskalakan yang dapat menyerap jutaan peristiwa per detik dan mengalirkannya ke beberapa konsumen. Ini memungkinkan Anda memproses dan menganalisis sejumlah besar data yang dihasilkan oleh perangkat dan aplikasi Anda yang terhubung. Jika Anda ingin tahu lebih banyak tentang Azure Event Hubs, Anda mungkin ingin meninjau: Apa itu Azure Event Hubs?
Pustaka klien Azure Event Hubs memungkinkan Anda mengirim dan menerima peristiwa di aplikasi Node.js Anda.
Tautan utama:
CATATAN: Jika Anda menggunakan versi 2.1.0 atau yang lebih rendah dan ingin bermigrasi ke versi terbaru paket ini, silakan lihat panduan migrasi kami untuk berpindah dari EventHubs V2 ke EventHubs V5
Sampel untuk v2 dan dokumentasi masih tersedia di sini:
Kode sumber untuk v2.1.0 | Paket untuk v2.1.0 (npm) | Sampel untuk v2.1.0
Memulai
Menginstal paket
Menginstal pustaka klien Azure Event Hubs menggunakan npm
npm install @azure/event-hubs
Lingkungan yang didukung saat ini
- Versi LTS dari Node.js
- Safari, Chrome, Edge, dan Firefox versi terbaru.
Lihat kebijakan dukungan kami untuk detail selengkapnya.
Prasyarat
Mengonfigurasi TypeScript
Pengguna TypeScript harus menginstal definisi jenis Node:
npm install @types/node
Anda juga perlu mengaktifkan compilerOptions.allowSyntheticDefaultImports di tsconfig.json Anda. Perhatikan bahwa jika Anda telah mengaktifkan compilerOptions.esModuleInterop, allowSyntheticDefaultImports diaktifkan secara default. Lihat buku pegangan opsi pengkompilasi TypeScript untuk informasi selengkapnya.
Bundel JavaScript
Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.
Selain apa yang dijelaskan di sana, pustaka ini juga membutuhkan polifill tambahan untuk modul bawaan inti NodeJS berikut agar berfungsi dengan baik di browser:
bufferospathprocess
Bundling dengan Webpack
Jika Anda menggunakan Webpack v5, Anda dapat menginstal dependensi dev berikut
npm install --save-dev os-browserify path-browserify
lalu tambahkan berikut ini ke dalam webpack.config.js Anda
const path = require("path");
+const webpack = require("webpack");
module.exports = {
entry: "./src/index.ts",
@@ -12,8 +13,21 @@ module.exports = {
},
],
},
+ plugins: [
+ new webpack.ProvidePlugin({
+ process: "process/browser",
+ }),
+ new webpack.ProvidePlugin({
+ Buffer: ["buffer", "Buffer"],
+ }),
+ ],
resolve: {
extensions: [".ts", ".js"],
+ fallback: {
+ buffer: require.resolve("buffer/"),
+ os: require.resolve("os-browserify"),
+ path: require.resolve("path-browserify"),
+ },
},
Bundling dengan Rollup
Jika Anda menggunakan bunder Rollup, instal dependensi dev berikut
npm install --save-dev @rollup/plugin-commonjs @rollup/plugin-inject @rollup/plugin-node-resolve
Kemudian sertakan yang berikut ini di rollup.config.js Anda
+import nodeResolve from "@rollup/plugin-node-resolve";
+import cjs from "@rollup/plugin-commonjs";
+import shim from "rollup-plugin-shim";
+import inject from "@rollup/plugin-inject";
export default {
// other configs
plugins: [
+ shim({
+ fs: `export default {}`,
+ net: `export default {}`,
+ tls: `export default {}`,
+ path: `export default {}`,
+ dns: `export function resolve() { }`,
+ }),
+ nodeResolve({
+ mainFields: ["module", "browser"],
+ preferBuiltins: false,
+ }),
+ cjs(),
+ inject({
+ modules: {
+ Buffer: ["buffer", "Buffer"],
+ process: "process",
+ },
+ exclude: ["./**/package.json"],
+ }),
]
};
Silakan lihat dokumentasi bunder favorit Anda untuk informasi lebih lanjut tentang menggunakan polifill.
Dukungan React Native
Mirip dengan browser, React Native tidak mendukung beberapa API JavaScript yang digunakan oleh pustaka SDK ini sehingga Anda perlu menyediakan polifill untuk mereka. Silakan lihat sampel React Native Olahpesan dengan Expo untuk detail selengkapnya.
Mengautentikasi klien
Interaksi dengan Azure Event Hubs dimulai dengan instans kelas EventHubConsumerClient atau instans kelas EventHubProducerClient . Ada kelebihan beban konstruktor untuk mendukung berbagai cara membuat instans kelas ini seperti yang ditunjukkan di bawah ini:
Menggunakan string koneksi untuk namespace layanan Azure Event Hubs
Salah satu kelebihan konstruktor mengambil string koneksi nama formulir Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key; dan entitas ke instans Event Hub Anda. Anda dapat membuat grup konsumen dan mendapatkan string koneksi serta nama entitas dari portal Azure.
const { EventHubProducerClient, EventHubConsumerClient } = require("@azure/event-hubs");
const producerClient = new EventHubProducerClient("my-connection-string", "my-event-hub");
const consumerClient = new EventHubConsumerClient(
"my-consumer-group",
"my-connection-string",
"my-event-hub"
);
Menggunakan string koneksi untuk kebijakan di Pusat Aktivitas
Kelebihan beban konstruktor lain mengambil string koneksi yang sesuai dengan kebijakan akses bersama yang telah Anda tentukan langsung pada instans Pusat Aktivitas (dan bukan namespace Layanan Pusat Aktivitas).
String koneksi ini akan berbentuk Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-event-hub-name.
Perbedaan utama dalam format string koneksi dari kelebihan beban konstruktor sebelumnya adalah ;EntityPath=my-event-hub-name.
const { EventHubProducerClient, EventHubConsumerClient } = require("@azure/event-hubs");
const producerClient = new EventHubProducerClient("my-connection-string-with-entity-path");
const consumerClient = new EventHubConsumerClient(
"my-consumer-group",
"my-connection-string-with-entity-path"
);
Menggunakan namespace layanan Azure Event Hubs dan Azure Identity
Kelebihan beban konstruktor ini mengambil nama host dan nama entitas instans dan kredensial Pusat Aktivitas Anda yang mengimplementasikan antarmuka TokenCredential. Ini memungkinkan Anda untuk mengautentikasi menggunakan prinsipal Azure Active Directory. Ada implementasi antarmuka yang TokenCredential tersedia dalam paket @azure/identitas . Nama host berformat <yournamespace>.servicebus.windows.net. Saat menggunakan Azure Active Directory, prinsipal Anda harus diberi peran yang memungkinkan akses ke Azure Event Hubs, seperti peran Pemilik Data Azure Event Hubs. Untuk informasi selengkapnya tentang menggunakan otorisasi Azure Active Directory dengan Azure Event Hubs, silakan lihat dokumentasi terkait.
const { EventHubProducerClient, EventHubConsumerClient } = require("@azure/event-hubs");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const producerClient = new EventHubProducerClient("my-host-name", "my-event-hub", credential);
const consumerClient = new EventHubConsumerClient(
"my-consumer-group",
"my-host-name",
"my-event-hub",
credential
);
Konsep utama
Produsen Event Hub adalah sumber data telemetri, informasi diagnostik, log penggunaan, atau data log lainnya, sebagai bagian dari solusi perangkat yang disematkan, aplikasi perangkat seluler, judul game yang berjalan di konsol atau perangkat lain, beberapa solusi bisnis berbasis klien atau server, atau situs web.
Konsumen Pusat Aktivitas mengambil informasi tersebut dari Pusat Aktivitas dan memprosesnya. Pemrosesan mungkin melibatkan agregasi, komputasi yang kompleks, dan pemfilteran. Pemrosesan juga dapat melibatkan distribusi atau penyimpanan informasi secara mentah atau dalam bentuk yang telah diubah. Konsumen Event Hub sering kali merupakan bagian infrastruktur platform yang kuat dan berskala tinggi dengan kemampuan analitik bawaan, seperti Azure Stream Analytics, Apache Spark, atau Apache Storm.
Partisi adalah urutan peristiwa yang terjadi di Event Hub. Partisi adalah sarana pengaturan data terkait dengan paralelisme yang dibutuhkan oleh konsumen acara. Azure Event Hubs menyediakan streaming pesan melalui pola konsumen yang dipartisi, yang memungkinkan setiap konsumen membaca subset tertentu saja, atau partisi, dari stream pesan. Ketika sudah tiba, peristiwa yang lebih baru ditambahkan ke akhir urutan ini. Jumlah partisi ditentukan pada saat Event Hub dibuat dan tidak dapat diubah.
Grup konsumen adalah tampilan dari seluruh Event Hub. Dengan grup konsumen, beberapa aplikasi konsumsi dapat masing-masing memiliki tampilan terpisah dari stream peristiwa, serta membaca stream secara mandiri dengan kecepatan dan dari posisi mereka sendiri. Untuk setiap grup konsumen, bisa ada maksimal 5 pembaca pada waktu yang bersamaan di partisi; tetapi sebaiknya hanya ada satu konsumen aktif untuk pasangan partisi dan grup konsumen tertentu. Setiap pembaca aktif menerima semua peristiwa dari partisinya; Jika ada beberapa pembaca pada partisi yang sama, maka mereka akan menerima peristiwa duplikat.
Untuk konsep dan diskusi yang lebih mendalam, lihat: Fitur Azure Event Hubs
Panduan sekeliling percobaan ulang
EventHubConsumerClient dan EventHubProducerClient terima options tempat Anda dapat mengatur retryOptions yang memungkinkan Anda menyetel bagaimana SDK menangani kesalahan sementara.
Contoh kesalahan sementara termasuk masalah jaringan atau layanan sementara.
Coba lagi saat mengonsumsi peristiwa
Jika terjadi kesalahan sementara (misalnya masalah jaringan sementara) saat SDK menerima peristiwa, SDK akan mencoba kembali menerima peristiwa berdasarkan opsi coba lagi yang diteruskan ke EventHubConsumerClient.
Jika upaya coba lagi maksimum habis, processError fungsi akan dipanggil.
Anda dapat menggunakan pengaturan coba lagi untuk mengontrol seberapa cepat Anda diberi tahu tentang masalah sementara seperti masalah koneksi jaringan.
Misalnya, jika Anda perlu tahu kapan ada masalah jaringan segera, Anda dapat menurunkan nilai untuk maxRetries dan retryDelayInMs.
Setelah menjalankan processError fungsi, klien terus menerima peristiwa dari partisi selama kesalahan dapat diulang. Jika tidak, klien memanggil fungsi yang disediakan processClose pengguna.
Fungsi ini juga dipanggil ketika Anda menghentikan langganan atau ketika klien berhenti membaca peristiwa dari partisi saat ini karena diambil oleh instans lain dari aplikasi Anda sebagai bagian dari penyeimbangan beban.
Fungsi ini processClose memberikan kesempatan untuk memperbarui titik pemeriksaan jika diperlukan.
Setelah menjalankan processClose, klien (atau dalam kasus penyeimbangan beban, klien dari instans lain aplikasi Anda) akan memanggil fungsi yang disediakan processInitialize pengguna untuk melanjutkan membaca peristiwa dari titik pemeriksaan terakhir yang diperbarui untuk partisi yang sama.
Jika Anda ingin berhenti mencoba membaca peristiwa, Anda harus memanggil close() yang subscription dikembalikan oleh subscribe metode .
Contoh
Bagian berikut ini menyediakan cuplikan kode yang mencakup beberapa tugas umum menggunakan Azure Event Hubs
- Memeriksa Event Hub
- Menerbitkan peristiwa ke Event Hub
- Mengonsumsi peristiwa dari Pusat Aktivitas
- Menggunakan EventHubConsumerClient untuk bekerja dengan IotHub
Memeriksa Event Hub
Kebanyakan operasi Event Hub berlangsung dalam lingkup partisi tertentu.
Karena partisi dimiliki oleh Event Hub, nama partisi tersebut diberikan pada saat pembuatan.
Untuk memahami partisi apa yang tersedia, Anda mengkueri Pusat Aktivitas menggunakan salah satu dari dua klien yang tersedia: EventHubProducerClient atau EventHubConsumerClient
Dalam contoh di bawah ini, kita menggunakan EventHubProducerClient.
const { EventHubProducerClient } = require("@azure/event-hubs");
async function main() {
const client = new EventHubProducerClient("connectionString", "eventHubName");
const partitionIds = await client.getPartitionIds();
await client.close();
}
main();
Menerbitkan peristiwa ke Event Hub
Untuk menerbitkan peristiwa, Anda harus membuat EventHubProducerClient. Sementara contoh di bawah ini menunjukkan salah satu cara untuk membuat klien, lihat bagian Mengautentikasi klien untuk mempelajari cara lain untuk membuat instans klien.
Anda dapat menerbitkan peristiwa ke partisi tertentu, atau mengizinkan layanan Azure Event Hubs untuk memutuskan peristiwa partisi mana yang harus diterbitkan. Disarankan untuk menggunakan perutean otomatis ketika penerbitan peristiwa harus sangat tersedia atau ketika data peristiwa harus didistribusikan secara merata di antara partisi. Dalam contoh di bawah ini, kita akan memanfaatkan perutean otomatis.
-
EventDataBatchCreate objek menggunakan createBatch - Tambahkan peristiwa ke batch menggunakan metode tryAdd . Anda dapat melakukan ini sampai batas ukuran batch maksimum tercapai atau sampai Anda selesai menambahkan jumlah peristiwa yang Anda sukai, mana saja yang lebih dulu. Metode ini akan kembali
falsemenunjukkan bahwa tidak ada lagi peristiwa yang dapat ditambahkan ke batch karena ukuran batch maks yang dicapai. - Kirim batch peristiwa menggunakan metode sendBatch .
Dalam contoh di bawah ini, kami mencoba mengirim 10 peristiwa ke Azure Event Hubs.
const { EventHubProducerClient } = require("@azure/event-hubs");
async function main() {
const producerClient = new EventHubProducerClient("connectionString", "eventHubName");
const eventDataBatch = await producerClient.createBatch();
let numberOfEventsToSend = 10;
while (numberOfEventsToSend > 0) {
let wasAdded = eventDataBatch.tryAdd({ body: "my-event-body" });
if (!wasAdded) {
break;
}
numberOfEventsToSend--;
}
await producerClient.sendBatch(eventDataBatch);
await producerClient.close();
}
main();
Ada opsi yang dapat Anda lewati pada tahap yang berbeda untuk mengontrol proses pengiriman peristiwa ke Azure Event Hubs.
-
EventHubProducerClientKonstruktor mengambil parameter opsional jenisEventHubClientOptionsyang dapat Anda gunakan untuk menentukan opsi seperti jumlah percobaan ulang. - Metode ini
createBatchmengambil parameter opsional jenisCreateBatchOptionsyang dapat Anda gunakan untuk meluaskan ukuran batch maks yang didukung oleh batch yang sedang dibuat. - Metode ini
sendBatchmengambil parameter opsional jenisSendBatchOptionsyang dapat Anda gunakan untuk menentukanabortSignaluntuk membatalkan operasi saat ini. - Jika Anda ingin mengirim ke partisi tertentu, kelebihan beban
sendBatchmetode memungkinkan Anda meneruskan id partisi untuk mengirim peristiwa. Contoh Periksa Pusat Aktivitas di atas menunjukkan cara mengambil id partisi yang tersedia.
Catatan: Saat bekerja dengan Azure Stream Analytics, isi peristiwa yang dikirim juga harus menjadi objek JSON.
Misalnya: body: { "message": "Hello World" }
Mengonsumsi peristiwa dari Pusat Aktivitas
Untuk menggunakan peristiwa dari instans Pusat Aktivitas, Anda juga perlu mengetahui grup konsumen mana yang ingin Anda targetkan. Setelah Mengetahui hal ini, Anda siap untuk membuat EventHubConsumerClient. Sementara contoh di bawah ini menunjukkan salah satu cara untuk membuat klien, lihat bagian Mengautentikasi klien untuk mempelajari cara lain untuk membuat instans klien.
Metode subscribe pada klien memiliki kelebihan beban yang, dikombinasikan dengan konstruktor, dapat melayani beberapa cara untuk mengonsumsi peristiwa:
- Mengonsumsi peristiwa dalam satu proses
- Mengonsumsi peristiwa dengan beban seimbang di beberapa proses
- Mengonsumsi peristiwa dari satu partisi
Metode ini subscribe mengambil parameter opsional jenis SubscriptionOptions yang dapat Anda gunakan untuk menentukan opsi seperti maxBatchSize (jumlah peristiwa yang harus ditunggu) dan maxWaitTimeInSeconds (jumlah waktu untuk menunggu peristiwa maxBatchSize tiba).
Mengonsumsi peristiwa dalam satu proses
Mulailah dengan membuat instans EventHubConsumerClient, lalu panggil subscribe() metode di atasnya untuk mulai mengonsumsi peristiwa.
Metode ini subscribe mengambil panggilan balik untuk memproses peristiwa saat diterima dari Azure Event Hubs.
Untuk berhenti menerima peristiwa, Anda dapat memanggil close() objek yang dikembalikan oleh subscribe() metode .
const { EventHubConsumerClient, earliestEventPosition } = require("@azure/event-hubs");
async function main() {
const client = new EventHubConsumerClient(
"my-consumer-group",
"connectionString",
"eventHubName"
);
// In this sample, we use the position of earliest available event to start from
// Other common options to configure would be `maxBatchSize` and `maxWaitTimeInSeconds`
const subscriptionOptions = {
startPosition: earliestEventPosition
};
const subscription = client.subscribe(
{
processEvents: async (events, context) => {
// event processing code goes here
},
processError: async (err, context) => {
// error reporting/handling code here
}
},
subscriptionOptions
);
// Wait for a few seconds to receive events before closing
setTimeout(async () => {
await subscription.close();
await client.close();
console.log(`Exiting sample`);
}, 3 * 1000);
}
main();
Mengonsumsi peristiwa dengan beban seimbang di beberapa proses
Azure Event Hubs mampu menangani jutaan peristiwa per detik. Untuk menskalakan aplikasi pemrosesan, Anda dapat menjalankan beberapa instans aplikasi Anda dan menyeimbangkan beban di antara mereka sendiri.
Mulailah dengan membuat instans penggunaan EventHubConsumerClient salah satu overload konstruktor yang mengambil CheckpointStore, lalu panggil subscribe() metode untuk mulai mengonsumsi peristiwa. Penyimpanan titik pemeriksaan akan memungkinkan pelanggan dalam grup konsumen untuk mengoordinasikan pemrosesan antara beberapa instans aplikasi Anda.
Dalam contoh ini, kita akan menggunakan BlobCheckpointStore dari @azure/eventhubs-checkpointstore-blob paket yang mengimplementasikan baca/tulis yang diperlukan ke penyimpanan tahan lama dengan menggunakan Azure Blob Storage.
Metode ini subscribe mengambil panggilan balik untuk memproses peristiwa saat diterima dari Azure Event Hubs.
Untuk berhenti menerima peristiwa, Anda dapat memanggil close() objek yang dikembalikan oleh subscribe() metode .
const { EventHubConsumerClient } = require("@azure/event-hubs");
const { ContainerClient } = require("@azure/storage-blob");
const { BlobCheckpointStore } = require("@azure/eventhubs-checkpointstore-blob");
const storageAccountConnectionString = "storage-account-connection-string";
const containerName = "container-name";
const eventHubConnectionString = "eventhub-connection-string";
const consumerGroup = "my-consumer-group";
const eventHubName = "eventHubName";
async function main() {
const blobContainerClient = new ContainerClient(storageAccountConnectionString, containerName);
if (!(await blobContainerClient.exists())) {
await blobContainerClient.create();
}
const checkpointStore = new BlobCheckpointStore(blobContainerClient);
const consumerClient = new EventHubConsumerClient(
consumerGroup,
eventHubConnectionString,
eventHubName,
checkpointStore
);
const subscription = consumerClient.subscribe({
processEvents: async (events, context) => {
// event processing code goes here
if (events.length === 0) {
// If the wait time expires (configured via options in maxWaitTimeInSeconds) Event Hubs
// will pass you an empty array.
return;
}
// Checkpointing will allow your service to pick up from
// where it left off when restarting.
//
// You'll want to balance how often you checkpoint with the
// performance of your underlying checkpoint store.
await context.updateCheckpoint(events[events.length - 1]);
},
processError: async (err, context) => {
// handle any errors that occur during the course of
// this subscription
console.log(`Errors in subscription to partition ${context.partitionId}: ${err}`);
}
});
// Wait for a few seconds to receive events before closing
await new Promise((resolve) => setTimeout(resolve, 10 * 1000));
await subscription.close();
await consumerClient.close();
console.log(`Exiting sample`);
}
main();
Silakan lihat Menyeimbangkan beban partisi di beberapa instans aplikasi Anda untuk mempelajari lebih lanjut.
Mengonsumsi peristiwa dari satu partisi
Mulailah dengan membuat instans EventHubConsumerClient, lalu panggil subscribe() metode di atasnya untuk mulai mengonsumsi peristiwa. Teruskan id partisi yang ingin Anda targetkan ke metode untuk dikonsumsi hanya dari partisi tersebut subscribe() .
Dalam contoh di bawah ini, kami menggunakan partisi pertama.
Metode ini subscribe mengambil panggilan balik untuk memproses peristiwa saat diterima dari Azure Event Hubs.
Untuk berhenti menerima peristiwa, Anda dapat memanggil close() objek yang dikembalikan oleh subscribe() metode .
const { EventHubConsumerClient, earliestEventPosition } = require("@azure/event-hubs");
async function main() {
const client = new EventHubConsumerClient(
"my-consumer-group",
"connectionString",
"eventHubName"
);
const partitionIds = await client.getPartitionIds();
// In this sample, we use the position of earliest available event to start from
// Other common options to configure would be `maxBatchSize` and `maxWaitTimeInSeconds`
const subscriptionOptions = {
startPosition: earliestEventPosition
};
const subscription = client.subscribe(
partitionIds[0],
{
processEvents: async (events, context) => {
// event processing code goes here
},
processError: async (err, context) => {
// error reporting/handling code here
}
},
subscriptionOptions
);
// Wait for a few seconds to receive events before closing
setTimeout(async () => {
await subscription.close();
await client.close();
console.log(`Exiting sample`);
}, 3 * 1000);
}
main();
Menggunakan EventHubConsumerClient untuk bekerja dengan IotHub
Anda juga dapat menggunakan EventHubConsumerClient untuk bekerja dengan IotHub. Ini berguna untuk menerima data telemetri IotHub dari EventHub yang ditautkan.
string koneksi terkait tidak akan mengirim klaim, sehingga mengirim peristiwa tidak dimungkinkan.
- Perhatikan bahwa string koneksi harus untuk titik akhir yang kompatibel dengan Pusat Aktivitas (misalnya, "Endpoint=sb://my-iothub-namespace-[uid].servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-iot-hub-name")
const { EventHubConsumerClient } = require("@azure/event-hubs");
async function main() {
const client = new EventHubConsumerClient(
"my-consumer-group",
"Endpoint=sb://my-iothub-namespace-[uid].servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-iot-hub-name"
);
await client.getEventHubProperties();
// retrieve partitionIds from client.getEventHubProperties() or client.getPartitionIds()
const partitionId = "0";
await client.getPartitionProperties(partitionId);
await client.close();
}
main();
Pemecahan Masalah
Dependensi AMQP
Pustaka Azure Event Hubs bergantung pada pustaka rhea-promise untuk mengelola koneksi, mengirim, dan menerima peristiwa melalui protokol AMQP .
Pembuatan Log
Anda dapat mengatur AZURE_LOG_LEVEL variabel lingkungan untuk mengaktifkan pengelogan ke stderr:
export AZURE_LOG_LEVEL=verbose
Untuk instruksi lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/pencatat.
Anda dapat mengatur DEBUG variabel lingkungan untuk mendapatkan log saat menggunakan pustaka ini.
Ini dapat berguna jika Anda juga ingin memancarkan log dari dependensi rhea-promise dan rhea juga.
Catatan: AZURE_LOG_LEVEL, jika diatur, lebih diutamakan daripada DEBUG.
Jangan tentukan pustaka apa pun azure melalui DEBUG saat juga menentukan AZURE_LOG_LEVEL atau memanggil setLogLevel.
- Hanya mendapatkan log debug tingkat info dari Azure Event Hubs SDK.
export DEBUG=azure:*:info
- Mendapatkan log debug dari Azure Event Hubs SDK dan pustaka tingkat protokol.
export DEBUG=azure*,rhea*
- Jika Anda tidak tertarik untuk melihat data peristiwa mentah (yang menggunakan sejumlah besar ruang konsol/disk) maka Anda dapat mengatur
DEBUGvariabel lingkungan sebagai berikut:
export DEBUG=azure*,rhea*,-rhea:raw,-rhea:message
- Jika Anda hanya tertarik pada kesalahan dan peringatan SDK, maka Anda dapat mengatur
DEBUGvariabel lingkungan sebagai berikut:
export DEBUG=azure:*:(error|warning),rhea-promise:error,rhea:events,rhea:frames,rhea:io,rhea:flow
Langkah berikutnya
Lebih banyak kode sampel
Silakan lihat direktori sampel untuk contoh terperinci tentang cara menggunakan pustaka ini untuk mengirim dan menerima peristiwa ke/dari Azure Event Hubs.
Berkontribusi
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Azure SDK for JavaScript