다음을 통해 공유


EventHubProducerClient class

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다.

를 만드는 방법에는 여러 가지가 있습니다. EventHubProducerClient

  • Event Hub instance 대해 만든 SAS 정책의 연결 문자열을 사용합니다.
  • Event Hub 네임스페이스에 대해 만든 SAS 정책의 연결 문자열과 Event Hub instance
  • 와 같은 <yournamespace>.servicebus.windows.net전체 네임스페이스 및 자격 증명 개체를 사용합니다.

필요에 따라 옵션 모음을 전달하여 재시도 정책 또는 프록시 설정을 구성할 수도 있습니다.

생성자

EventHubProducerClient(string, EventHubClientOptions)

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다. parmeter를 options 사용하여 재시도 정책 또는 프록시 설정을 구성합니다.

EventHubProducerClient(string, string, EventHubClientOptions)

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다. parmeter를 options 사용하여 재시도 정책 또는 프록시 설정을 구성합니다.

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

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다. parmeter를 options 사용하여 재시도 정책 또는 프록시 설정을 구성합니다.

속성

eventHubName

이 클라이언트가 만들어지는 이벤트 허브 instance 이름입니다.

fullyQualifiedNamespace

이 클라이언트가 만들어지는 Event Hub instance 정규화된 네임스페이스입니다. 이는 .servicebus.windows.net 유사할 수 있습니다.

identifier

이 EventHubProducerClient를 식별하는 데 사용되는 이름입니다. 지정하지 않았거나 비어 있으면 임의의 고유 항목이 생성됩니다.

메서드

close()

이벤트 허브 instance 대한 AMQP 연결을 닫고 연결 끊김이 완료될 때 해결될 약속을 반환합니다.

createBatch(CreateBatchOptions)

EventDataBatch 지원되는 최대 크기에 도달할 때까지 이벤트를 추가할 수 있는 instance 만듭니다. 일괄 처리는 Azure Event Hubs 보낼 의 EventHubProducerClientsendBatch 메서드에 전달될 수 있습니다.

partitionKey 또는 partitionId에 대한 값이 다른 이벤트는 다른 일괄 처리에 배치해야 합니다. 파티션 간에 이러한 일괄 처리 관리를 간소화하거나 클라이언트가 이벤트를 자동으로 일괄 처리하고 특정 간격으로 보내도록 하려면 대신 를 사용합니다 EventHubBufferedProducerClient .

아래 예제에서는 안전하게 일괄 처리할 이벤트 배열이 있다고 가정합니다. 이벤트가 하나씩 EventHubBufferedProducerClient 들어오는 경우 일괄 처리를 효율적으로 관리하기 위해 대신 를 사용하는 것이 좋습니다.

사용 예제:

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 런타임 정보를 제공합니다.

getPartitionIds(GetPartitionIdsOptions)

이벤트 허브와 연결된 각 파티션에 대한 ID를 제공합니다.

getPartitionProperties(string, GetPartitionPropertiesOptions)

지정된 파티션의 상태에 대한 정보를 제공합니다.

sendBatch(EventDataBatch, OperationOptions)

를 사용하여 EventHubProducerClient.createBatch() 만든 이벤트 일괄 처리를 연결된 이벤트 허브로 보냅니다.

partitionKey 또는 partitionId에 대한 값이 다른 이벤트는 다른 일괄 처리에 배치해야 합니다. 파티션 간에 이러한 일괄 처리 관리를 간소화하거나 클라이언트가 이벤트를 자동으로 일괄 처리하고 특정 간격으로 보내도록 하려면 대신 를 사용합니다 EventHubBufferedProducerClient .

아래 예제에서는 안전하게 일괄 처리할 이벤트 배열이 있다고 가정합니다. 이벤트가 하나씩 EventHubBufferedProducerClient 들어오는 경우 일괄 처리를 효율적으로 관리하기 위해 대신 를 사용하는 것이 좋습니다.

사용 예제:

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)

이벤트 배열을 연결된 이벤트 허브에 일괄 처리로 보냅니다.

Azure Event Hubs 보낼 수 있는 일괄 처리의 크기에 제한이 있으며, 초과하면 코드 MessageTooLargeError에 오류가 발생합니다. 일괄 처리 크기 제한 내에서 안전하게 보내려면 또는 EventHubBufferedProducerClient 를 대신 사용합니다EventHubProducerClient.createBatch().

사용 예제:

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

생성자 세부 정보

EventHubProducerClient(string, EventHubClientOptions)

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다. parmeter를 options 사용하여 재시도 정책 또는 프록시 설정을 구성합니다.

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

매개 변수

connectionString

string

Event Hub instance 연결하는 데 사용할 연결 문자열입니다. 공유 키 속성과 이벤트 허브 경로가 이 연결 문자열에 포함되어야 합니다. 예: 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

클라이언트를 구성할 때 적용할 옵션 집합입니다.

  • retryOptions : 클라이언트의 모든 작업에 대한 재시도 정책을 구성합니다. 예를 들어 { "maxRetries": 4 } 또는 { "maxRetries": 4, "retryDelayInMs": 30000 }입니다.
  • webSocketOptions: 웹 소켓을 통해 AMQP 연결의 채널링을 구성합니다.
  • userAgent : 서비스에 전달되는 기본 제공 사용자 에이전트 문자열에 추가할 문자열입니다.

EventHubProducerClient(string, string, EventHubClientOptions)

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다. parmeter를 options 사용하여 재시도 정책 또는 프록시 설정을 구성합니다.

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

매개 변수

connectionString

string

Event Hubs 네임스페이스에 연결하는 데 사용할 연결 문자열입니다. 공유 키 속성은 이 연결 문자열에 포함되지만 이벤트 허브 경로에는 포함되지 않을 것으로 예상됩니다(예: 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

클라이언트를 연결할 특정 이벤트 허브의 이름입니다.

options
EventHubClientOptions

클라이언트를 구성할 때 적용할 옵션 집합입니다.

  • retryOptions : 클라이언트의 모든 작업에 대한 재시도 정책을 구성합니다. 예를 들어 { "maxRetries": 4 } 또는 { "maxRetries": 4, "retryDelayInMs": 30000 }입니다.
  • webSocketOptions: 웹 소켓을 통해 AMQP 연결의 채널링을 구성합니다.
  • userAgent : 서비스에 전달되는 기본 제공 사용자 에이전트 문자열에 추가할 문자열입니다.

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

클래스는 EventHubProducerClient 이벤트 허브에 이벤트를 보내는 데 사용됩니다. parmeter를 options 사용하여 재시도 정책 또는 프록시 설정을 구성합니다.

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

매개 변수

fullyQualifiedNamespace

string

.servicebus.windows.net 유사할 수 있는 전체 네임스페이스입니다.

eventHubName

string

클라이언트를 연결할 특정 이벤트 허브의 이름입니다.

credential

TokenCredential | NamedKeyCredential | SASCredential

클라이언트가 토큰을 가져와 Azure Event Hubs 서비스와의 연결을 인증하는 데 사용하는 자격 증명 개체입니다. AAD 인증을 지원하는 자격 증명을 만드는 @azure/ID를 참조하세요. 연결 문자열을 AzureNamedKeyCredential 사용하지 않고 및 을 전달 SharedAccessKeyNameSharedAccessKey 하려는 경우 @azure/core-auth의 를 사용합니다. 이러한 필드는 의 및 key 필드에 각각 매핑 name 됩니다AzureNamedKeyCredential. 연결 문자열을 사용하지 않고 을 AzureSASCredential 전달하려는 경우 @azure/core-auth에서 SharedAccessSignature 를 사용합니다. 이 필드는 에 매핑됩니다 signatureAzureSASCredential.

options
EventHubClientOptions

클라이언트를 구성할 때 적용할 옵션 집합입니다.

  • retryOptions : 클라이언트의 모든 작업에 대한 재시도 정책을 구성합니다. 예를 들어 { "maxRetries": 4 } 또는 { "maxRetries": 4, "retryDelayInMs": 30000 }입니다.
  • webSocketOptions: 웹 소켓을 통해 AMQP 연결의 채널링을 구성합니다.
  • userAgent : 서비스에 전달되는 기본 제공 사용자 에이전트 문자열에 추가할 문자열입니다.

속성 세부 정보

eventHubName

이 클라이언트가 만들어지는 이벤트 허브 instance 이름입니다.

string eventHubName

속성 값

string

fullyQualifiedNamespace

이 클라이언트가 만들어지는 Event Hub instance 정규화된 네임스페이스입니다. 이는 .servicebus.windows.net 유사할 수 있습니다.

string fullyQualifiedNamespace

속성 값

string

identifier

이 EventHubProducerClient를 식별하는 데 사용되는 이름입니다. 지정하지 않았거나 비어 있으면 임의의 고유 항목이 생성됩니다.

identifier: string

속성 값

string

메서드 세부 정보

close()

이벤트 허브 instance 대한 AMQP 연결을 닫고 연결 끊김이 완료될 때 해결될 약속을 반환합니다.

function close(): Promise<void>

반환

Promise<void>

Promise

createBatch(CreateBatchOptions)

EventDataBatch 지원되는 최대 크기에 도달할 때까지 이벤트를 추가할 수 있는 instance 만듭니다. 일괄 처리는 Azure Event Hubs 보낼 의 EventHubProducerClientsendBatch 메서드에 전달될 수 있습니다.

partitionKey 또는 partitionId에 대한 값이 다른 이벤트는 다른 일괄 처리에 배치해야 합니다. 파티션 간에 이러한 일괄 처리 관리를 간소화하거나 클라이언트가 이벤트를 자동으로 일괄 처리하고 특정 간격으로 보내도록 하려면 대신 를 사용합니다 EventHubBufferedProducerClient .

아래 예제에서는 안전하게 일괄 처리할 이벤트 배열이 있다고 가정합니다. 이벤트가 하나씩 EventHubBufferedProducerClient 들어오는 경우 일괄 처리를 효율적으로 관리하기 위해 대신 를 사용하는 것이 좋습니다.

사용 예제:

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>

매개 변수

options
CreateBatchOptions

일괄 처리의 동작을 구성합니다.

  • partitionKey: Azure Event Hubs 서비스에서 해시되고 이벤트를 보내야 하는 파티션을 결정하는 데 사용되는 값입니다.
  • partitionId : 이벤트 일괄 처리를 보내야 하는 파티션의 ID입니다.
  • maxSizeInBytes: 일괄 처리 크기에 대한 상한입니다. 이 제한에 tryAdd 도달하면 함수가 반환 false 됩니다.
  • abortSignal : 작업을 취소하라는 요청을 알리는 신호입니다.

반환

Promise<EventDataBatch>

Promise

getEventHubProperties(GetEventHubPropertiesOptions)

Event Hub 런타임 정보를 제공합니다.

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

매개 변수

options
GetEventHubPropertiesOptions

작업 호출에 적용할 옵션 집합입니다.

반환

Event Hub instance 대한 정보로 해결되는 약속입니다.

getPartitionIds(GetPartitionIdsOptions)

이벤트 허브와 연결된 각 파티션에 대한 ID를 제공합니다.

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

매개 변수

options
GetPartitionIdsOptions

작업 호출에 적용할 옵션 집합입니다.

반환

Promise<string[]>

이벤트 허브와 연결된 각 파티션의 ID를 나타내는 문자열 배열로 확인되는 약속입니다.

getPartitionProperties(string, GetPartitionPropertiesOptions)

지정된 파티션의 상태에 대한 정보를 제공합니다.

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

매개 변수

partitionId

string

정보가 필요한 파티션의 ID입니다.

options
GetPartitionPropertiesOptions

작업 호출에 적용할 옵션 집합입니다.

반환

파티션의 상태에 대한 정보로 해결되는 약속입니다.

sendBatch(EventDataBatch, OperationOptions)

를 사용하여 EventHubProducerClient.createBatch() 만든 이벤트 일괄 처리를 연결된 이벤트 허브로 보냅니다.

partitionKey 또는 partitionId에 대한 값이 다른 이벤트는 다른 일괄 처리에 배치해야 합니다. 파티션 간에 이러한 일괄 처리 관리를 간소화하거나 클라이언트가 이벤트를 자동으로 일괄 처리하고 특정 간격으로 보내도록 하려면 대신 를 사용합니다 EventHubBufferedProducerClient .

아래 예제에서는 안전하게 일괄 처리할 이벤트 배열이 있다고 가정합니다. 이벤트가 하나씩 EventHubBufferedProducerClient 들어오는 경우 일괄 처리를 효율적으로 관리하기 위해 대신 를 사용하는 것이 좋습니다.

사용 예제:

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>

매개 변수

batch
EventDataBatch

createBatch 메서드를 사용하여 만들 수 있는 이벤트 일괄 처리입니다.

options
OperationOptions

이벤트가 연결된 이벤트 허브로 전송되는 방식에 영향을 주도록 지정할 수 있는 옵션 집합입니다.

  • abortSignal : 송신 작업을 취소하라는 요청을 알리는 신호입니다.

반환

Promise<void>

Promise

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

이벤트 배열을 연결된 이벤트 허브에 일괄 처리로 보냅니다.

Azure Event Hubs 보낼 수 있는 일괄 처리의 크기에 제한이 있으며, 초과하면 코드 MessageTooLargeError에 오류가 발생합니다. 일괄 처리 크기 제한 내에서 안전하게 보내려면 또는 EventHubBufferedProducerClient 를 대신 사용합니다EventHubProducerClient.createBatch().

사용 예제:

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

매개 변수

batch

EventData[] | AmqpAnnotatedMessage[]

EventData 또는 AmqpAnnotatedMessage의 배열입니다.

options
SendBatchOptions

이벤트가 연결된 이벤트 허브로 전송되는 방식에 영향을 주도록 지정할 수 있는 옵션 집합입니다.

  • abortSignal : 송신 작업을 취소하라는 요청을 알리는 신호입니다.
  • partitionId : 이 일괄 처리가 전송될 파티션입니다. 설정된 경우 를 partitionKey 설정할 수 없습니다.
  • partitionKey : 파티션 할당을 생성하기 위해 해시되는 값입니다. 설정된 경우 를 partitionId 설정할 수 없습니다.

반환

Promise<void>

Promise