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.net
tam 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
Event |
|
Event |
|
Event |
|
Özellikler
event |
Bu istemcinin oluşturulduğu Olay Hub'ı örneğinin adı. |
fully |
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. |
create |
Desteklenen boyut üst sınırına 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 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, Örnek kullanım:
|
get |
Event Hub çalışma zamanı bilgilerini sağlar. |
get |
Olay Hub'ı ile ilişkili her bölümün kimliğini sağlar. |
get |
Belirtilen bölümün durumu hakkında bilgi sağlar. |
send |
kullanılarak 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 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, Örnek kullanım:
|
send |
İ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 Örnek kullanım:
|
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
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 AzureNamedKeyCredential
eşlername
.
AzureSASCredential
Bağlantı dizesi kullanmadan geçirmek istiyorsanız SharedAccessSignature
from @azure/core-auth komutunu kullanın. Bu alan içinde AzureSASCredential
ile 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 EventHubProducerClient
sendBatch 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. ButryAdd
sınıra ulaşıldıktan sonra işlev döndürülecektirfalse
.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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
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 MessageTooLargeError
hataya 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 veya AmqpAnnotatedMessage
dizisi.
- 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ıysapartitionKey
ayarlanamaz.partitionKey
: Bölüm ataması oluşturmak için karma değer. AyarlandıysapartitionId
ayarlanamaz.
Döndürülenler
Promise<void>
Söz