EventHubProducerClient class

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır.

Oluşturmanın birden çok yolu vardır EventHubProducerClient

  • Olay Hub'ı örneğiniz için oluşturulan SAS ilkesinden bağlantı dizesini kullanın.
  • Olay Hub'ı ad alanınız için oluşturulan SAS ilkesinden bağlantı dizesini ve Olay Hub'ı örneğinin adını kullanın
  • gibi <yournamespace>.servicebus.windows.nettam ad alanını ve kimlik bilgileri nesnesini kullanın.

İsteğe bağlı olarak, yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için bir seçenek paketi geçirebilirsiniz.

Oluşturucular

EventHubProducerClient(string, EventHubClientOptions)

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır. options Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için parmeter'ı kullanın.

EventHubProducerClient(string, string, EventHubClientOptions)

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır. options Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için parmeter'ı kullanın.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır. options Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için parmeter'ı kullanın.

Özellikler

eventHubName

Bu istemcinin oluşturulduğu Olay Hub'ı örneğinin adı.

fullyQualifiedNamespace

Bu istemcinin oluşturulduğu Event Hub örneğinin tam ad alanı. Bu büyük olasılıkla .servicebus.windows.net'a benzer.

identifier

Bu EventHubProducerClient'ı tanımlamak için kullanılan ad. Belirtilmezse veya boşsa rastgele benzersiz bir tane oluşturulur.

Yöntemler

close()

Olay Hub'ı örneğine yönelik AMQP bağlantısını kapatır ve bağlantı kesilmesi tamamlandığında çözülecek bir söz döndürür.

createBatch(CreateBatchOptions)

Desteklenen boyut üst sınırına EventDataBatch ulaşılana kadar olay ekleyebileceği bir örneği oluşturur. Toplu iş, Azure Event Hubs gönderilecek öğesinin EventHubProducerClientsendBatch yöntemine geçirilebilir.

partitionKey veya partitionId için farklı değerlere sahip olayların farklı toplu işlemlere alınması gerekir. Bölümler arasında bu tür toplu iş yönetimini basitleştirmek veya istemcinin olayları otomatik olarak toplu işleyip belirli aralıklarla göndermesini sağlamak için kullanın EventHubBufferedProducerClient .

Aşağıdaki örnekte, elinizde güvenli bir şekilde toplu işlenecek bir olay dizisi olduğu varsayılır. Tek tek gelen olaylarınız varsa, EventHubBufferedProducerClient bunun yerine toplu işlemlerin verimli bir şekilde yönetilmesi önerilir.

Örnek kullanım:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
getEventHubProperties(GetEventHubPropertiesOptions)

Event Hub çalışma zamanı bilgilerini sağlar.

getPartitionIds(GetPartitionIdsOptions)

Olay Hub'ı ile ilişkili her bölümün kimliğini sağlar.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Belirtilen bölümün durumu hakkında bilgi sağlar.

sendBatch(EventDataBatch, OperationOptions)

kullanılarak EventHubProducerClient.createBatch() oluşturulan bir toplu olayları ilişkili Olay Hub'ına gönderir.

partitionKey veya partitionId için farklı değerlere sahip olayların farklı toplu işlemlere alınması gerekir. Bölümler arasında bu tür toplu iş yönetimini basitleştirmek veya istemcinin olayları otomatik olarak toplu işleyip belirli aralıklarla göndermesini sağlamak için kullanın EventHubBufferedProducerClient .

Aşağıdaki örnekte, elinizde güvenli bir şekilde toplu işlenecek bir olay dizisi olduğu varsayılır. Tek tek gelen olaylarınız varsa, EventHubBufferedProducerClient bunun yerine toplu işlemlerin verimli bir şekilde yönetilmesi önerilir.

Örnek kullanım:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

İlişkili Olay Hub'ına toplu iş olarak bir olay dizisi gönderir.

Azure Event Hubs, toplu iş boyutu üzerinde gönderilebilen ve aşılması durumunda kodunda MessageTooLargeErrorhataya neden olacak bir sınıra sahiptir. Toplu iş boyutu sınırları içinde güvenli bir şekilde göndermek için veya EventHubBufferedProducerClient kullanınEventHubProducerClient.createBatch().

Örnek kullanım:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);

Oluşturucu Ayrıntıları

EventHubProducerClient(string, EventHubClientOptions)

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır. options Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için parmeter'ı kullanın.

new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)

Parametreler

connectionString

string

Event Hub örneğine bağlanmak için kullanılacak bağlantı dizesi. Paylaşılan anahtar özelliklerinin ve Olay Hub'ı yolunun bu bağlantı dizesinde bulunması beklenir. Örneğin'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

İstemciyi yapılandırırken uygulanacak bir dizi seçenek.

  • retryOptions : İstemcideki tüm işlemler için yeniden deneme ilkesini yapılandırılır. Örneğin { "maxRetries": 4 } veya { "maxRetries": 4, "retryDelayInMs": 30000 } olabilir.
  • webSocketOptions: AMQP bağlantısının Web Yuvaları üzerinden kanalını yapılandırır.
  • userAgent : Hizmete geçirilen yerleşik kullanıcı aracısı dizesine eklenecek dize.

EventHubProducerClient(string, string, EventHubClientOptions)

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır. options Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için parmeter'ı kullanın.

new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)

Parametreler

connectionString

string

Event Hubs ad alanına bağlanmak için kullanılacak bağlantı dizesi. Paylaşılan anahtar özelliklerinin bu bağlantı dizesinde bulunması beklenir, ancak Olay Hub'ı yolunda yer almaması beklenir; örneğin, 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

İstemcinin bağlanacak olay hub'ının adı.

options
EventHubClientOptions

İstemciyi yapılandırırken uygulanacak bir dizi seçenek.

  • retryOptions : İstemcideki tüm işlemler için yeniden deneme ilkesini yapılandırılır. Örneğin { "maxRetries": 4 } veya { "maxRetries": 4, "retryDelayInMs": 30000 } olabilir.
  • webSocketOptions: AMQP bağlantısının Web Yuvaları üzerinden kanalını yapılandırır.
  • userAgent : Hizmete geçirilen yerleşik kullanıcı aracısı dizesine eklenecek dize.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır. options Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için parmeter'ı kullanın.

new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)

Parametreler

fullyQualifiedNamespace

string

.servicebus.windows.net benzer olabilecek tam ad alanı

eventHubName

string

İstemcinin bağlanacak olay hub'ının adı.

credential

TokenCredential | NamedKeyCredential | SASCredential

Azure Event Hubs hizmetiyle bağlantının kimliğini doğrulamak üzere belirteci almak için istemci tarafından kullanılan bir kimlik bilgisi nesnesi. AAD kimlik doğrulamasını destekleyen kimlik bilgileri oluşturmak için bkz. @azure/kimlik. AzureNamedKeyCredential bağlantı dizesi kullanmadan ve SharedAccessKey geçirmek istiyorsanız SharedAccessKeyName from @azure/core-auth komutunu kullanın. Bu alanlar, içinde sırasıyla ve key alanıyla AzureNamedKeyCredentialeşlername. AzureSASCredential Bağlantı dizesi kullanmadan geçirmek istiyorsanız SharedAccessSignature from @azure/core-auth komutunu kullanın. Bu alan içinde AzureSASCredentialile signature eşler.

options
EventHubClientOptions

İstemciyi yapılandırırken uygulanacak bir dizi seçenek.

  • retryOptions : İstemcideki tüm işlemler için yeniden deneme ilkesini yapılandırılır. Örneğin { "maxRetries": 4 } veya { "maxRetries": 4, "retryDelayInMs": 30000 } olabilir.
  • webSocketOptions: AMQP bağlantısının Web Yuvaları üzerinden kanalını yapılandırır.
  • userAgent : Hizmete geçirilen yerleşik kullanıcı aracısı dizesine eklenecek dize.

Özellik Ayrıntıları

eventHubName

Bu istemcinin oluşturulduğu Olay Hub'ı örneğinin adı.

string eventHubName

Özellik Değeri

string

fullyQualifiedNamespace

Bu istemcinin oluşturulduğu Event Hub örneğinin tam ad alanı. Bu büyük olasılıkla .servicebus.windows.net'a benzer.

string fullyQualifiedNamespace

Özellik Değeri

string

identifier

Bu EventHubProducerClient'ı tanımlamak için kullanılan ad. Belirtilmezse veya boşsa rastgele benzersiz bir tane oluşturulur.

identifier: string

Özellik Değeri

string

Yöntem Ayrıntıları

close()

Olay Hub'ı örneğine yönelik AMQP bağlantısını kapatır ve bağlantı kesilmesi tamamlandığında çözülecek bir söz döndürür.

function close(): Promise<void>

Döndürülenler

Promise<void>

Söz

createBatch(CreateBatchOptions)

Desteklenen boyut üst sınırına EventDataBatch ulaşılana kadar olay ekleyebileceği bir örneği oluşturur. Toplu iş, Azure Event Hubs gönderilecek öğesinin EventHubProducerClientsendBatch yöntemine geçirilebilir.

partitionKey veya partitionId için farklı değerlere sahip olayların farklı toplu işlemlere alınması gerekir. Bölümler arasında bu tür toplu iş yönetimini basitleştirmek veya istemcinin olayları otomatik olarak toplu işleyip belirli aralıklarla göndermesini sağlamak için kullanın EventHubBufferedProducerClient .

Aşağıdaki örnekte, elinizde güvenli bir şekilde toplu işlenecek bir olay dizisi olduğu varsayılır. Tek tek gelen olaylarınız varsa, EventHubBufferedProducerClient bunun yerine toplu işlemlerin verimli bir şekilde yönetilmesi önerilir.

Örnek kullanım:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>

Parametreler

options
CreateBatchOptions

Toplu iş davranışını yapılandırılır.

  • partitionKey: Olayların gönderilmesi gereken bölümü belirlemek için Azure Event Hubs hizmeti tarafından karma olarak oluşturulan ve kullanılan değer.
  • partitionId : Olay toplu işleminin gönderilmesi gereken bölümün kimliği.
  • maxSizeInBytes: Toplu iş boyutu için üst sınır. Bu tryAdd sınıra ulaşıldıktan sonra işlev döndürülecektir false .
  • abortSignal : İşlemi iptal etmek için isteğin sinyalini verin.

Döndürülenler

Promise<EventDataBatch>

Söz

getEventHubProperties(GetEventHubPropertiesOptions)

Event Hub çalışma zamanı bilgilerini sağlar.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parametreler

options
GetEventHubPropertiesOptions

İşlem çağrısına uygulanacak seçenekler kümesi.

Döndürülenler

Olay Hub'ı örneği hakkındaki bilgilerle çözülen bir söz.

getPartitionIds(GetPartitionIdsOptions)

Olay Hub'ı ile ilişkili her bölümün kimliğini sağlar.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parametreler

options
GetPartitionIdsOptions

İşlem çağrısına uygulanacak seçenekler kümesi.

Döndürülenler

Promise<string[]>

Olay Hub'ı ile ilişkili her bölümün kimliğini temsil eden dize dizisiyle çözümleyen bir söz.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Belirtilen bölümün durumu hakkında bilgi sağlar.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parametreler

partitionId

string

Bilgilerin gerekli olduğu bölümün kimliği.

options
GetPartitionPropertiesOptions

İşlem çağrısına uygulanacak seçenekler kümesi.

Döndürülenler

Bölümün durumu hakkındaki bilgilerle çözümleyen bir söz.

sendBatch(EventDataBatch, OperationOptions)

kullanılarak EventHubProducerClient.createBatch() oluşturulan bir toplu olayları ilişkili Olay Hub'ına gönderir.

partitionKey veya partitionId için farklı değerlere sahip olayların farklı toplu işlemlere alınması gerekir. Bölümler arasında bu tür toplu iş yönetimini basitleştirmek veya istemcinin olayları otomatik olarak toplu işleyip belirli aralıklarla göndermesini sağlamak için kullanın EventHubBufferedProducerClient .

Aşağıdaki örnekte, elinizde güvenli bir şekilde toplu işlenecek bir olay dizisi olduğu varsayılır. Tek tek gelen olaylarınız varsa, EventHubBufferedProducerClient bunun yerine toplu işlemlerin verimli bir şekilde yönetilmesi önerilir.

Örnek kullanım:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>

Parametreler

batch
EventDataBatch

createBatch yöntemini kullanarak oluşturabileceğiniz bir toplu olay.

options
OperationOptions

Olayların ilişkili Olay Hub'ına gönderilme şeklini etkilemek için belirtilebilen bir dizi seçenek.

  • abortSignal : Gönderme işlemini iptal etmek için isteğin sinyalini alır.

Döndürülenler

Promise<void>

Söz

sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

İlişkili Olay Hub'ına toplu iş olarak bir olay dizisi gönderir.

Azure Event Hubs, toplu iş boyutu üzerinde gönderilebilen ve aşılması durumunda kodunda MessageTooLargeErrorhataya neden olacak bir sınıra sahiptir. Toplu iş boyutu sınırları içinde güvenli bir şekilde göndermek için veya EventHubBufferedProducerClient kullanınEventHubProducerClient.createBatch().

Örnek kullanım:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>

Parametreler

batch

EventData[] | AmqpAnnotatedMessage[]

EventData veya AmqpAnnotatedMessagedizisi.

options
SendBatchOptions

Olayların ilişkili Olay Hub'ına gönderilme şeklini etkilemek için belirtilebilen bir dizi seçenek.

  • abortSignal : Gönderme işlemini iptal etmek için isteğin sinyalini alır.
  • partitionId : Bu toplu işleminin gönderileceği bölüm. Ayarlandıysa partitionKey ayarlanamaz.
  • partitionKey : Bölüm ataması oluşturmak için karma değer. Ayarlandıysa partitionId ayarlanamaz.

Döndürülenler

Promise<void>

Söz