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
Event |
Klasa |
Event |
Klasa |
Event |
Klasa |
Właściwości
event |
Nazwa wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient. |
fully |
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. |
create |
Tworzy wystąpienie 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 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, Przykładowe użycie:
|
get |
Udostępnia informacje o środowisku uruchomieniowym centrum zdarzeń. |
get |
Zawiera identyfikator każdej partycji skojarzonej z centrum zdarzeń. |
get |
Zawiera informacje o stanie określonej partycji. |
send |
Wysyła partię zdarzeń utworzonych przy użyciu 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 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, Przykładowe użycie:
|
send |
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 Przykładowe użycie:
|
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
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. FunkcjatryAdd
zwrócifalse
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
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
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