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ń i 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ć torbę 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 parmetru 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 parmetru 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 parmetru 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 sendBatchEventHubProducerClient, która ma zostać wysłana do usługi 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, użyj EventHubBufferedProducerClient zamiast tego.

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

Przykładowe użycie:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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, użyj EventHubBufferedProducerClient zamiast tego.

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

Przykładowe użycie:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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ń.

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

Przykładowe użycie:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

await client.sendBatch(messages);

Szczegóły konstruktora

EventHubProducerClient(string, EventHubClientOptions)

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru 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ń są zawarte 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 kanał połączenia AMQP za pośrednictwem gniazd sieci Web.
  • 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 parmetru 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. Oczekuje się, ż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 nawiązania połączenia z klientem.

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 kanał połączenia AMQP za pośrednictwem gniazd sieci Web.
  • 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 parmetru 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 nawiązania połączenia z klientem.

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 AzureNamedKeyCredential z uwierzytelniania @azure/core-auth, jeśli chcesz przekazać SharedAccessKeyName i SharedAccessKey bez użycia parametrów połączenia. Te pola są mapowanie odpowiednio na pola name i key w AzureNamedKeyCredential. Użyj AzureSASCredential z @azure/core-auth, jeśli chcesz przekazać SharedAccessSignature bez używania parametrów połączenia. To pole mapuje signature w 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 kanał połączenia AMQP za pośrednictwem gniazd sieci Web.
  • 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 sendBatchEventHubProducerClient, która ma zostać wysłana do usługi 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, użyj EventHubBufferedProducerClient zamiast tego.

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

Przykładowe użycie:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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ść, która jest skrótem i używana przez usługę Azure Event Hubs w celu 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 tryAdd zwróci false 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, które mają być stosowane 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, które mają być stosowane do wywołania operacji.

Zwraca

Promise<string[]>

Obietnica rozpoznawana za pomocą tablicy ciągów reprezentujących identyfikator 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, które mają być stosowane 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, użyj EventHubBufferedProducerClient zamiast tego.

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

Przykładowe użycie:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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łynąć 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ń.

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

Przykładowe użycie:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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łynąć na sposób, w jaki zdarzenia są wysyłane do skojarzonego centrum zdarzeń.

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

Zwraca

Promise<void>

Obietnica