Udostępnij za pośrednictwem


EventHubProducerClient class

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń.

Istnieje wiele sposobów tworzenia EventHubProducerClient

  • Użyj parametrów połączenia z zasad sygnatury dostępu współdzielonego utworzonych dla wystąpienia centrum zdarzeń.
  • Użyj parametrów połączenia z zasad sygnatury dostępu współdzielonego utworzonych dla przestrzeni nazw centrum zdarzeń oraz nazwy wystąpienia centrum zdarzeń
  • Użyj pełnej przestrzeni nazw, takiej jak <yournamespace>.servicebus.windows.net, i obiektu poświadczeń.

Opcjonalnie możesz również przekazać pakiet opcji, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

Konstruktory

EventHubProducerClient(string, EventHubClientOptions)

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru options , aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

EventHubProducerClient(string, string, EventHubClientOptions)

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru options , aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

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

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru options , aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

Właściwości

eventHubName

Nazwa wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient.

fullyQualifiedNamespace

W pełni kwalifikowana przestrzeń nazw wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient. Prawdopodobnie będzie to podobne do .servicebus.windows.net.

identifier

Nazwa używana do identyfikowania tego elementu EventHubProducerClient. Jeśli nie zostanie określony lub pusty, zostanie wygenerowany losowy unikatowy.

Metody

close()

Zamyka połączenie AMQP z wystąpieniem centrum zdarzeń, zwracając obietnicę, która zostanie rozwiązana po zakończeniu rozłączenia.

createBatch(CreateBatchOptions)

Tworzy wystąpienie EventDataBatch , do którego można dodać zdarzenia do momentu osiągnięcia maksymalnego obsługiwanego rozmiaru. Partię można przekazać do metody sendBatch obiektu EventHubProducerClient , która ma zostać wysłana do Azure Event Hubs.

Zdarzenia z różnymi wartościami partitionKey lub partitionId należy umieścić w różnych partiach. Aby uprościć takie zarządzanie wsadowe między partycjami lub automatycznie wysyłać zdarzenia wsadowe klienta i wysyłać je w określonych interwałach, należy zamiast tego użyć EventHubBufferedProducerClient polecenia .

W poniższym przykładzie przyjęto założenie, że masz pod ręką tablicę zdarzeń, które mają być bezpiecznie wsadowe. Jeśli masz zdarzenia przychodzące jeden po drugim, EventHubBufferedProducerClient zaleca się zamiast tego efektywne zarządzanie partiami.

Przykład użycia:

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)

Udostępnia informacje o środowisku uruchomieniowym centrum zdarzeń.

getPartitionIds(GetPartitionIdsOptions)

Zawiera identyfikator każdej partycji skojarzonej z centrum zdarzeń.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Zawiera informacje o stanie określonej partycji.

sendBatch(EventDataBatch, OperationOptions)

Wysyła partię zdarzeń utworzonych przy użyciu EventHubProducerClient.createBatch() do skojarzonego centrum zdarzeń.

Zdarzenia z różnymi wartościami partitionKey lub partitionId należy umieścić w różnych partiach. Aby uprościć takie zarządzanie wsadowe między partycjami lub automatycznie wysyłać zdarzenia wsadowe klienta i wysyłać je w określonych interwałach, należy zamiast tego użyć EventHubBufferedProducerClient polecenia .

W poniższym przykładzie przyjęto założenie, że masz pod ręką tablicę zdarzeń, które mają być bezpiecznie wsadowe. Jeśli masz zdarzenia przychodzące jeden po drugim, EventHubBufferedProducerClient zaleca się zamiast tego efektywne zarządzanie partiami.

Przykład użycia:

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)

Wysyła tablicę zdarzeń jako partię do skojarzonego centrum zdarzeń.

Azure Event Hubs ma limit rozmiaru partii, który można wysłać, co w przypadku przekroczenia spowoduje błąd z kodem MessageTooLargeError. Aby bezpiecznie wysyłać dane w ramach limitów rozmiaru partii, użyj polecenia EventHubProducerClient.createBatch() lub EventHubBufferedProducerClient zamiast tego.

Przykład użycia:

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

Szczegóły konstruktora

EventHubProducerClient(string, EventHubClientOptions)

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru options , aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

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

Parametry

connectionString

string

Parametry połączenia używane do nawiązywania połączenia z wystąpieniem centrum zdarzeń. Oczekuje się, że właściwości klucza współużytkowanego i ścieżka centrum zdarzeń znajdują się w tych parametrach połączenia. np. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

Zestaw opcji do zastosowania podczas konfigurowania klienta.

  • retryOptions : Konfiguruje zasady ponawiania dla wszystkich operacji na kliencie. Na przykład: { "maxRetries": 4 } lub { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: konfiguruje channelling połączenia AMQP za pośrednictwem web sockets.
  • userAgent : ciąg dołączany do wbudowanego ciągu agenta użytkownika, który jest przekazywany do usługi.

EventHubProducerClient(string, string, EventHubClientOptions)

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru options , aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

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

Parametry

connectionString

string

Parametry połączenia używane do nawiązywania połączenia z przestrzenią nazw usługi Event Hubs. Oczekiwano, że właściwości klucza współużytkowanego znajdują się w tych parametrach połączenia, ale nie w ścieżce centrum zdarzeń, np. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Nazwa określonego centrum zdarzeń do połączenia klienta.

options
EventHubClientOptions

Zestaw opcji do zastosowania podczas konfigurowania klienta.

  • retryOptions : Konfiguruje zasady ponawiania dla wszystkich operacji na kliencie. Na przykład: { "maxRetries": 4 } lub { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: konfiguruje channelling połączenia AMQP za pośrednictwem web sockets.
  • userAgent : ciąg dołączany do wbudowanego ciągu agenta użytkownika, który jest przekazywany do usługi.

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

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru options , aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

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

Parametry

fullyQualifiedNamespace

string

Pełna przestrzeń nazw, która prawdopodobnie będzie podobna do .servicebus.windows.net

eventHubName

string

Nazwa określonego centrum zdarzeń do połączenia klienta.

credential

TokenCredential | NamedKeyCredential | SASCredential

Obiekt poświadczeń używany przez klienta do uzyskiwania tokenu w celu uwierzytelnienia połączenia z usługą Azure Event Hubs. Zobacz @azure/tożsamość, aby utworzyć poświadczenia obsługujące uwierzytelnianie usługi AAD. Użyj polecenia AzureNamedKeyCredential from @azure/core-auth, jeśli chcesz przekazać SharedAccessKeyNameSharedAccessKey parametry połączenia i bez użycia parametrów połączenia. Te pola są mapowanie odpowiednio na name pola i key w elemecie AzureNamedKeyCredential. Użyj polecenia AzureSASCredential from @azure/core-auth, jeśli chcesz przekazać SharedAccessSignature element bez użycia parametrów połączenia. To pole jest mapowe na signature w pliku AzureSASCredential.

options
EventHubClientOptions

Zestaw opcji do zastosowania podczas konfigurowania klienta.

  • retryOptions : Konfiguruje zasady ponawiania dla wszystkich operacji na kliencie. Na przykład: { "maxRetries": 4 } lub { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: konfiguruje channelling połączenia AMQP za pośrednictwem web sockets.
  • userAgent : ciąg dołączany do wbudowanego ciągu agenta użytkownika, który jest przekazywany do usługi.

Szczegóły właściwości

eventHubName

Nazwa wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient.

string eventHubName

Wartość właściwości

string

fullyQualifiedNamespace

W pełni kwalifikowana przestrzeń nazw wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient. Prawdopodobnie będzie to podobne do .servicebus.windows.net.

string fullyQualifiedNamespace

Wartość właściwości

string

identifier

Nazwa używana do identyfikowania tego elementu EventHubProducerClient. Jeśli nie zostanie określony lub pusty, zostanie wygenerowany losowy unikatowy.

identifier: string

Wartość właściwości

string

Szczegóły metody

close()

Zamyka połączenie AMQP z wystąpieniem centrum zdarzeń, zwracając obietnicę, która zostanie rozwiązana po zakończeniu rozłączenia.

function close(): Promise<void>

Zwraca

Promise<void>

Obietnica

createBatch(CreateBatchOptions)

Tworzy wystąpienie EventDataBatch , do którego można dodać zdarzenia do momentu osiągnięcia maksymalnego obsługiwanego rozmiaru. Partię można przekazać do metody sendBatch obiektu EventHubProducerClient , która ma zostać wysłana do Azure Event Hubs.

Zdarzenia z różnymi wartościami partitionKey lub partitionId należy umieścić w różnych partiach. Aby uprościć takie zarządzanie wsadowe między partycjami lub automatycznie wysyłać zdarzenia wsadowe klienta i wysyłać je w określonych interwałach, należy zamiast tego użyć EventHubBufferedProducerClient polecenia .

W poniższym przykładzie przyjęto założenie, że masz pod ręką tablicę zdarzeń, które mają być bezpiecznie wsadowe. Jeśli masz zdarzenia przychodzące jeden po drugim, EventHubBufferedProducerClient zaleca się zamiast tego efektywne zarządzanie partiami.

Przykład użycia:

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>

Parametry

options
CreateBatchOptions

Konfiguruje zachowanie partii.

  • partitionKey: wartość skrótu i używana przez usługę Azure Event Hubs do określenia partycji, do której mają być wysyłane zdarzenia.
  • partitionId : identyfikator partycji, do której należy wysłać partię zdarzeń.
  • maxSizeInBytes: górny limit rozmiaru partii. Funkcja zostanie zwrócona tryAddfalse po osiągnięciu tego limitu.
  • abortSignal : sygnał żądania anulowania operacji.

Zwraca

Promise<EventDataBatch>

Obietnica

getEventHubProperties(GetEventHubPropertiesOptions)

Udostępnia informacje o środowisku uruchomieniowym centrum zdarzeń.

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

Parametry

options
GetEventHubPropertiesOptions

Zestaw opcji do zastosowania do wywołania operacji.

Zwraca

Obietnica, która rozwiązuje problem z informacjami o wystąpieniu centrum zdarzeń.

getPartitionIds(GetPartitionIdsOptions)

Zawiera identyfikator każdej partycji skojarzonej z centrum zdarzeń.

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

Parametry

options
GetPartitionIdsOptions

Zestaw opcji do zastosowania do wywołania operacji.

Zwraca

Promise<string[]>

Obietnica, która jest rozpoznawana za pomocą tablicy ciągów reprezentujących identyfikator dla każdej partycji skojarzonej z centrum zdarzeń.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Zawiera informacje o stanie określonej partycji.

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

Parametry

partitionId

string

Identyfikator partycji, dla której są wymagane informacje.

options
GetPartitionPropertiesOptions

Zestaw opcji do zastosowania do wywołania operacji.

Zwraca

Obietnica, która rozwiązuje problem z informacjami o stanie partycji .

sendBatch(EventDataBatch, OperationOptions)

Wysyła partię zdarzeń utworzonych przy użyciu EventHubProducerClient.createBatch() do skojarzonego centrum zdarzeń.

Zdarzenia z różnymi wartościami partitionKey lub partitionId należy umieścić w różnych partiach. Aby uprościć takie zarządzanie wsadowe między partycjami lub automatycznie wysyłać zdarzenia wsadowe klienta i wysyłać je w określonych interwałach, należy zamiast tego użyć EventHubBufferedProducerClient polecenia .

W poniższym przykładzie przyjęto założenie, że masz pod ręką tablicę zdarzeń, które mają być bezpiecznie wsadowe. Jeśli masz zdarzenia przychodzące jeden po drugim, EventHubBufferedProducerClient zaleca się zamiast tego efektywne zarządzanie partiami.

Przykład użycia:

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>

Parametry

batch
EventDataBatch

Partia zdarzeń, które można utworzyć przy użyciu metody createBatch .

options
OperationOptions

Zestaw opcji, które można określić, aby wpływać na sposób, w jaki zdarzenia są wysyłane do skojarzonego centrum zdarzeń.

  • abortSignal : sygnał żądania anulowania operacji wysyłania.

Zwraca

Promise<void>

Obietnica

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

Wysyła tablicę zdarzeń jako partię do skojarzonego centrum zdarzeń.

Azure Event Hubs ma limit rozmiaru partii, który można wysłać, co w przypadku przekroczenia spowoduje błąd z kodem MessageTooLargeError. Aby bezpiecznie wysyłać dane w ramach limitów rozmiaru partii, użyj polecenia EventHubProducerClient.createBatch() lub EventHubBufferedProducerClient zamiast tego.

Przykład użycia:

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

Parametry

batch

EventData[] | AmqpAnnotatedMessage[]

Tablica eventData lub AmqpAnnotatedMessage.

options
SendBatchOptions

Zestaw opcji, które można określić, aby wpływać na sposób, w jaki zdarzenia są wysyłane do skojarzonego centrum zdarzeń.

  • abortSignal : sygnał żądania anulowania operacji wysyłania.
  • partitionId : partycja, do których zostanie wysłana ta partia. W przypadku ustawienia partitionKey nie można ustawić.
  • partitionKey : wartość skrótu w celu utworzenia przypisania partycji. W przypadku ustawienia partitionId nie można ustawić.

Zwraca

Promise<void>

Obietnica