Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Event Hubs, saniyede milyonlarca etkinliği alıp birden fazla tüketiciye aktarabilen yüksek ölçeklenebilir bir yayın-abone hizmeti sunar. Bu, bağlı cihazlarınız ve uygulamalarınız tarafından üretilen çok büyük miktarda veriyi işlemenize ve analiz etmenizi sağlar. Azure Event Hubs hakkında daha fazla bilgi almak isterseniz, şu adresi incelemek isteyebilirsiniz: Event Hubs nedir?
Azure Event Hubs istemci kütüphanesi, Node.js uygulamanızda olayları gönderip almanıza olanak tanır.
Anahtar bağlantılar:
NOT: Eğer 2.1.0 veya daha düşük sürüm kullanıyorsanız ve bu paketin en son sürümüne geçiş yapmak istiyorsanız, lütfen EventHubs V2'den EventHubs V5'e geçiş için geçiş rehberimize göz atın
v2 için örnekler ve dokümantasyon hâlâ burada mevcuttur:
v2.1.0 | için kaynak koduv2.1.0 için paket (npm) | v2.1.0 için örnekler
Başlangıç Yapmak
Paketi yükle
Azure Event Hubs client library using npm
npm install @azure/event-hubs
Şu anda desteklenen ortamlar
- Node.js LTS sürümleri
- Safari, Chrome, Edge ve Firefox'un en son sürümleri.
Daha fazla ayrıntı için destek ilkemize bakın.
Önkoşullar
TypeScript'i Yapılandır
TypeScript kullanıcılarının Node tipi tanımlarının kurulması gerekir:
npm install @types/node
Ayrıca compilerOptions.allowSyntheticDefaultImports programınızı etkinleştirmeniz tsconfig.json. Eğer etkinleştirdiyseniz compilerOptions.esModuleInterop, varsayılan olarak allowSyntheticDefaultImports etkinleştirilmiş olduğunu unutmayın. Daha fazla bilgi için TypeScript'in derleyici seçenekleri el kitabına bakınız.
JavaScript Paketi
Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen
Orada açıklananlara ek olarak, bu kütüphanenin tarayıcılarda düzgün çalışabilmesi için aşağıdaki NodeJS çekirdek yerleşik modülleri için ek poli dolgulara da ihtiyacı vardır:
bufferospathprocess
Webpack ile paketleme
Webpack v5 kullanıyorsanız, aşağıdaki geliştirici bağımlılıklarını yükleyebilirsiniz
npm install --save-dev os-browserify path-browserify
Sonra aşağıdaki bilgileri hesabınıza ekleyinwebpack.config.js
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"),
+ },
},
Rollup ile Paketleme
Eğer Rollup bundler kullanıyorsanız, aşağıdaki dev bağımlılıklarını yükleyin
npm install --save-dev @rollup/plugin-commonjs @rollup/plugin-inject @rollup/plugin-node-resolve
Sonra aşağıdaki maddeleri rollup.config.js
+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"],
+ }),
]
};
Polifilllerin kullanımı hakkında daha fazla bilgi için lütfen favori bundler'ınızın dokümantasyonlarına bakınız.
React Native Desteği
Tarayıcılar gibi, React Native bu SDK kütüphanesinde kullanılan bazı JavaScript API'lerini desteklemez, bu yüzden onlar için polyfill sağlamanız gerekir. Daha fazla detay için lütfen Expo ile Messaging React Native örneğine bakınız.
İstemcinin kimliğini doğrulama
Event Hubs ile etkileşim, ya EventHubConsumerClient sınıfının bir örneği ya da EventHubProducerClient sınıfının bir örneğiyle başlar. Bu sınıfların farklı şekilde ortaya çıkarılması için aşağıda gösterildiği gibi yapıcı aşırı yüklenmeleri vardır:
Event Hubs isim alanı için bağlantı dizisi kullanın
Yapıcı aşırı yüklenmelerden biri, form Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key; ve varlık adının bağlantı dizisini Event Hub örneğinize götürür. Bir tüketici grubu oluşturabilir ve bağlantı dizisini ve varlık adını Azure portalından alabilirsiniz.
import { EventHubProducerClient, EventHubConsumerClient } from "@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",
);
Event Hub'da politika için bağlantı dizisi kullanın
Başka bir üretici aşırı yük, doğrudan Event Hub örneğinde (Event Hubs isim alanında değil) tanımladığınız paylaşılan erişim politikasına karşılık gelen bağlantı dizisini alır.
Bu bağlantı dizisi şu biçimde Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-event-hub-nameolacaktır.
Bağlantı dizisi formatındaki önceki yapıcı aşırı yükünden temel fark, ;EntityPath=my-event-hub-name.
import { EventHubProducerClient, EventHubConsumerClient } from "@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",
);
Event Hubs namespace ve Azure Identity kullanın
Bu yapıcı aşırı yüklenme, Event Hub örneğinizin ana bilgisayar adını ve varlık adını ile TokenCredential arayüzünü uygulayan kimlik bilgilerini alır. Bu, Azure Active Directory prensip kullanarak kimlik doğrulamanızı sağlar. Arayüzün TokenCredential paketinde mevcut uygulamaları mevcuttur. Ana bilgisayar adı şu formata <yournamespace>.servicebus.windows.netaittir. Azure Active Directory kullanıldığında, magzanıza, Azure Event Hubs Veri Sahibi rolü gibi Event Hubs'a erişim sağlayan bir rol atanmalıdır. Event Hubs ile Azure Active Directory yetkilendirmesini kullanmak hakkında daha fazla bilgi için lütfen ilgili dokümantasyona bakınız.
import { DefaultAzureCredential } from "@azure/identity";
import { EventHubProducerClient, EventHubConsumerClient } from "@azure/event-hubs";
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,
);
Temel kavramlar
Event Hub üreticisi, gömülü cihaz çözümü, mobil cihaz uygulaması, konsol veya başka bir cihazda çalışan bir oyun oyunu, istemci veya sunucu tabanlı iş çözümü veya web sitesi gibi telemetri verileri, tanı bilgileri, kullanım kayıtları veya diğer günlük verilerinin kaynağıdır.
Bir Event Hub tüketicisi, bu bilgileri Event Hub'dan alır ve işler. İşleme, toplama, karmaşık hesaplama ve filtreleme içerebilir. İşleme ayrıca bilginin ham veya dönüştürülmüş şekilde dağıtılması veya depolanmasını da içerebilir. Event Hub tüketicileri genellikle Azure Stream Analytics, Apache Spark veya Apache Storm gibi yerleşik analitik yeteneklere sahip sağlam ve yüksek ölçekli platform altyapı parçalarıdır.
Bir bölüm, bir Olay Merkezi'nde tutulan düzenli bir olay dizisidir. Bölümler, olay tüketicilerinin ihtiyaç duyduğu paralellikle ilişkili bir veri organizasyon aracıdır. Azure Event Hubs, her tüketicinin yalnızca mesaj akışının belirli bir alt kümesini veya bölümünü okuduğu bölümlenmiş tüketici deseniyle mesaj akışı sağlar. Yeni olaylar geldikçe, bu olaylar bu sekansın sonuna ekleniyor. Bölüm sayısı, bir Olay Merkezi oluşturulduğunda belirtilir ve değiştirilemez.
Tüketici grubu, tüm bir Etkinlik Merkezinin görünümüdür. Tüketici grupları, birden fazla tüketici uygulamanın her biri olay akışına ayrı bir bakış açısına sahip olmasını ve akışı kendi hızlarında ve kendi konumlarından bağımsız olarak okuyabilmesini sağlar. Her tüketici grubu için bir bölümde en fazla 5 eşzamanlı okuyucu bulunabilir; ancak belirli bir bölüm ve tüketici grubu eşleşmesi için yalnızca bir aktif tüketici olması önerilir. Her aktif okuyucu, tüm olayları kendi bölümünden alır; Aynı bölümde birden fazla okuyucu varsa, tekrarlanan olaylar alırlar.
Daha fazla kavram ve daha derin tartışma için bakınız: Event Hubs Özellikleri
Yeniden denemeler hakkında rehberlik
SDK'nın EventHubConsumerClientEventHubProducerClient geçici hataları nasıl yönettiğini ayarlamanıza olanak tanıyan ve nereden ayarlayabileceğinizi options kabul retryOptions edeceksiniz.
Geçici hatalara örnekler arasında geçici ağ veya hizmet sorunları yer alır.
Olayları tüketirken tekrar denemeler
SDK olayları alırken geçici bir hata (örneğin geçici ağ sorunu) karşılaşılırsa, tekrar deneme seçeneklerine EventHubConsumerClientgöre olayları almayı tekrar dener.
Maksimum tekrar deneme denemeleri tükenirse, fonksiyon processError çağrılacaktır.
Yeniden deneme ayarlarını kullanarak ağ bağlantısı gibi geçici sorunlar hakkında ne kadar hızlı bilgilendirildiğinizi kontrol edebilirsiniz.
Örneğin, ağ sorunu ne zaman hemen bilmeniz gerekiyorsa, ve maxRetriesiçin değerleri retryDelayInMs düşürebilirsiniz.
Fonksiyon çalıştırıldıktan processError sonra, hata tekrar denenebilecek bir hata olduğu sürece istemci bölümden olayları almaya devam eder. Aksi takdirde, istemci kullanıcı tarafından sağlanan processClose fonksiyonu çağırır.
Bu fonksiyon, aboneliği durdurduğunuzda veya istemci mevcut bölümden olayları okumayı durdurduğunda ve yük dengeleme kapsamında uygulamanızın başka bir örneği tarafından alındığında da çağrılır.
Bu processClose fonksiyon, gerekirse kontrol noktalarını güncelleme fırsatı sunar.
Çalıştırıldıktan processClosesonra, istemci (veya yük dengeleme durumunda, uygulamanızın başka bir örneğinden bir istemci) aynı bölüm için son güncellenmiş kontrol noktasından okuma olaylarını sürdürmek üzere kullanıcı tarafından sağlanan processInitialize fonksiyonu çağırır.
Olayları okumaya çalışmayı bırakmak istiyorsanız, bu yöntemle geri close()subscription dönen kişileri çağırmalısınızsubscribe.
Örnekler
Aşağıdaki bölümler, Azure Event Hubs kullanılarak kullanılan bazı yaygın görevleri kapsayan kod parçacıkları sunar
- Bir Etkinlik Merkezini İnceleme
- Etkinlikleri bir Etkinlik Merkezi'ne yayınla
- Etkinlik Merkezinden Olayları Tüketin
- IotHub ile çalışmak için EventHubConsumerClient kullanın
Bir Etkinlik Merkezini İnceleme
Birçok Olay Merkezi operasyonu, belirli bir bölümün kapsamı içinde gerçekleşir.
Bölümler Olay Merkezi'ne ait olduğundan, isimleri oluşturulma anında atanır.
Hangi bölümlerin mevcut olduğunu anlamak için, mevcut iki istemciden birini kullanarak Event Hub'u sorgularsınız: EventHubProducerClient veya EventHubConsumerClient
Aşağıdaki örnekte, bir ' kullanıyoruz.EventHubProducerClient
import { EventHubProducerClient } from "@azure/event-hubs";
const client = new EventHubProducerClient("connectionString", "eventHubName");
const partitionIds = await client.getPartitionIds();
await client.close();
Etkinlikleri bir Etkinlik Merkezi'ne yayınla
Etkinlikleri yayınlamak için bir EventHubProducerClient. Aşağıdaki örnek istemciyi oluşturmanın bir yolunu gösterse de, istemciyi örneklerle oluşturmanın diğer yollarını öğrenmek için İstemciyi Doğrulama bölümüne bakabilirsiniz.
Olayları belirli bir bölüme yayımlayabilir veya Event Hubs servisinin hangi bölüme olayların yayınlanacağına karar vermesine izin verebilirsiniz. Olayların yayınlanmasının yüksek erişilebilir olması gerektiğinde veya olay verilerinin bölümler arasında eşit şekilde dağıtılması gerektiğinde otomatik yönlendirme kullanılması önerilir. Aşağıdaki örnekte, otomatik yönlendirmeden faydalanacağız.
-
EventDataBatchkullanarak bir nesne oluşturun - tryAdd yöntemiyle olayları grupa ekleyin. Bunu, maksimum parti boyutu sınırına ulaşana veya sevdiğiniz etkinlik sayısını eklemeyi bitirene kadar, hangisi önce gelirse, yapabilirsiniz. Bu yöntem, maksimum parti boyutuna ulaşıldığında partiye daha fazla etkinlik eklenemeyeceğini göstermek için geri
falsedönür. - Etkinlik partisini sendBatch yöntemiyle gönderin.
Aşağıdaki örnekte, Azure Event Hubs'a 10 olay göndermeye çalışıyoruz.
import { EventHubProducerClient } from "@azure/event-hubs";
const producerClient = new EventHubProducerClient("connectionString", "eventHubName");
const eventDataBatch = await producerClient.createBatch();
let numberOfEventsToSend = 10;
while (numberOfEventsToSend > 0) {
const wasAdded = eventDataBatch.tryAdd({ body: "my-event-body" });
if (!wasAdded) {
break;
}
numberOfEventsToSend--;
}
await producerClient.sendBatch(eventDataBatch);
await producerClient.close();
Azure Event Hubs'a olay gönderme sürecini kontrol etmek için farklı aşamalarda geçiştirebileceğiniz seçenekler vardır.
- Yapıcı
EventHubProducerClient, deneme sayısı gibi seçenekleri belirtmek için kullanabileceğiniz isteğe bağlı bir parametre alırEventHubClientOptions. - Yöntem,
createBatcholuşturulan partinin desteklediği maksimum parti boyutunu özetlemek için kullanabileceğiniz isteğe bağlı bir türCreateBatchOptionsparametre alır. - Yöntem,
sendBatchmevcut işlemi iptal etmek için kullanabileceğinizSendBatchOptionsisteğe bağlı bir parametre türünüabortSignalalır. - Belirli bir bölüme göndermek istiyorsanız, yöntemin
sendBatchaşırı yüklenmesi olay göndereceğiniz bölümün kimliğini iletmenize olanak tanır. Yukarıdaki Bir Olay Merkezini İnceleme örneği, mevcut bölüm kimliklerinin nasıl alınacağını gösterir.
Not: Azure Stream Analytics ile çalışırken, gönderilen olayın gövdesi de bir JSON nesnesi olmalıdır.
Örneğin: body: { "message": "Hello World" }
Etkinlik Merkezinden Olayları Tüketin
Bir Event Hub örneğinden olay tüketmek için, hangi tüketici grubunu hedeflemek istediğinizi de bilmeniz gerekir. Bunu öğrendikten sonra, bir EventHubConsumerClient oluşturmaya hazırsınız. Aşağıdaki örnek istemciyi oluşturmanın bir yolunu gösterse de, istemciyi örneklerle oluşturmanın diğer yollarını öğrenmek için İstemciyi Doğrulama bölümüne bakabilirsiniz.
İstemci üzerindeki yöntem, subscribe yapıcı ile birlikte olayları tüketmenin birkaç yoluna hizmet verebilecek aşırı yüklere sahiptir:
- Olayları tek bir süreçte tüketin
- Birden fazla süreç arasında yük dengesiyle olayları tüketin
- Tek bir bölümden olayları tüketin
Yöntem, subscribe maxBatchSize (beklenecek olay sayısı) ve maxWaitTimeInSeconds (maxBatchSize olaylarının gelmesi için bekleme süresi) gibi seçenekleri belirtmek için kullanabileceğiniz isteğe bağlı bir parametre alır SubscriptionOptions .
Olayları tek bir süreçte tüketin
Önce bir örnek oluşturun EventHubConsumerClient, ardından subscribe() üzerindeki metotu çağırarak olayları tüketmeye başlayın.
Bu yöntem, subscribe Azure Event Hubs'tan alınan olayları işlemek için geri çağrıları alır.
Olayları almayı durdurmak için, yöntemle close() döndürülen nesneyi çağırabilirsinizsubscribe().
import { EventHubConsumerClient, earliestEventPosition } from "@azure/event-hubs";
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);
Birden fazla süreç arasında yük dengesiyle olayları tüketin
Azure Event Hubs, saniyede milyonlarca olayla ilgilenebiliyor. İşleme uygulamanızı ölçeklendirmek için, uygulamanızın birden fazla örneğini çalıştırabilir ve yükü kendi aralarında dengeleyebilirsiniz.
Önce bir yapıcı aşırı yüklemeyi kullanarak bir örnek EventHubConsumerClient oluşturarak CheckpointStore, subscribe() sonra metotu çağırarak olayı tüketmeye başlayın. Kontrol noktası mağazası, bir tüketici grubundaki abonelerin uygulamanızın birden fazla örneği arasında işlem koordinasyonunu sağlar.
Bu örnekte, Azure Blob Storage kullanarak gerekli okuma/yazma işlemlerini kalıcı bir depoya uygulayan from paketini BlobCheckpointStore kullanacağız@azure/eventhubs-checkpointstore-blob.
Bu yöntem, subscribe Azure Event Hubs'tan alınan olayları işlemek için geri çağrıları alır.
Olayları almayı durdurmak için, yöntemle close() döndürülen nesneyi çağırabilirsinizsubscribe().
import { ContainerClient } from "@azure/storage-blob";
import { BlobCheckpointStore } from "@azure/eventhubs-checkpointstore-blob";
import { EventHubConsumerClient } from "@azure/event-hubs";
const storageAccountConnectionString = "storage-account-connection-string";
const containerName = "container-name";
const eventHubConnectionString = "eventhub-connection-string";
const consumerGroup = "my-consumer-group";
const eventHubName = "eventHubName";
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`);
Daha fazla bilgi için lütfen uygulamanızın birden fazla örneğinde bölüm yükünü dengelemesine bakınız.
Tek bir bölümden olayları tüketin
Önce bir örnek oluşturun EventHubConsumerClient, ardından subscribe() üzerindeki metotu çağırarak olayları tüketmeye başlayın. Hedeflemek istediğiniz bölümün kimliğini, subscribe() sadece o bölümden tüketilecek yönteme verin.
Aşağıdaki örnekte, ilk bölümü kullanıyoruz.
Bu yöntem, subscribe Azure Event Hubs'tan alınan olayları işlemek için geri çağrıları alır.
Olayları almayı durdurmak için, yöntemle close() döndürülen nesneyi çağırabilirsinizsubscribe().
import { EventHubConsumerClient, earliestEventPosition } from "@azure/event-hubs";
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);
IotHub ile çalışmak için EventHubConsumerClient kullanın
IotHub ile de çalışabilirsin EventHubConsumerClient . Bu, bağlı EventHub'dan IotHub'un telemetri verilerini almak için faydalıdır.
İlgili bağlantı dizisinde gönderme talepleri olmaz, bu yüzden olay göndermek mümkün değildir.
- Bağlantı dizisinin Event Hub uyumlu bir uç nokta için olması gerektiğini lütfen unutmayın (örneğin "Endpoint=sb://my-iothub-namespace-[uid].servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-iot-hub-name")
import { EventHubConsumerClient } from "@azure/event-hubs";
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();
Sorun giderme
AMQP Bağımlılıkları
Event Hubs kütüphanesi, AMQP protokolü üzerinden bağlantıları yönetmek, olay göndermek ve almak için rhea-promise kütüphanesine dayanır.
Ağaç kesimi
Ortam değişkenini AZURE_LOG_LEVEL logu stderretkinleştirecek şekilde ayarlayabilirsiniz:
export AZURE_LOG_LEVEL=verbose
Alternatif olarak, çalışma zamanında setLogLevel@azure/logger çağrılarak günlük tutma etkinleştirilebilir.
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.
Bu kitaplığı kullanırken günlükleri almak için alternatif olarak DEBUG ortam değişkenini ayarlayabilirsiniz.
Bu, rhea-promise ve rhea bağımlılıklardan günlükleri de yaymak istiyorsanız yararlı olabilir.
Not: AZURE_LOG_LEVEL ayarlanırsa DEBUG'a göre önceliklidir.
AZURE_LOG_LEVEL belirtirken veya setLogLevel'i çağırırken DEBUG aracılığıyla azure kitaplık belirtmeyin.
- Event Hubs SDK'dan sadece bilgi seviyesi hata hata ayıklama logları alıyorum.
export DEBUG=azure:*:info
- Event Hubs SDK'sından ve protokol seviyesi kütüphanesinden hata ayıklama logları alıyorum.
export DEBUG=azure*,rhea*
-
ham olay verilerini (büyük miktarda konsol/disk alanı tüketen) görüntülemekle ilgilenmiyorsanız,
DEBUGortam değişkenini aşağıdaki gibi ayarlayabilirsiniz:
export DEBUG=azure*,rhea*,-rhea:raw,-rhea:message
- yalnızca
hataları ve SDKuyarıları ile ilgileniyorsanız, ortam değişkenini aşağıdaki gibi ayarlayabilirsiniz:
export DEBUG=azure:*:(error|warning),rhea-promise:error,rhea:events,rhea:frames,rhea:io,rhea:flow
Sonraki Adımlar
Daha fazla örnek kod
Etkinlik merkezlerine etkinlikler göndermek ve almak için bu kütüphaneyi nasıl kullanacağınıza dair ayrıntılı örnekler için lütfen örnekler dizinesine göz atın.
Contributing
Bu kitaplığa katkıda bulunmak isterseniz kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.
Azure SDK for JavaScript