다음을 통해 공유


EventHubProducerClient class

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

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

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

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

생성자

EventHubProducerClient(string, EventHubClientOptions)

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

EventHubProducerClient(string, string, EventHubClientOptions)

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

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

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

속성

eventHubName

이 클라이언트가 만들어지는 이벤트 허브 인스턴스의 이름입니다.

fullyQualifiedNamespace

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

identifier

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

메서드

close()

이벤트 허브 인스턴스에 대한 AMQP 연결을 닫고 연결 끊김이 완료될 때 해결될 프라미스를 반환합니다.

createBatch(CreateBatchOptions)

지원되는 최대 크기에 도달할 때까지 이벤트를 추가할 수 있는 EventDataBatch 인스턴스를 만듭니다. 일괄 처리는 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)

이벤트 허브 런타임 정보를 제공합니다.

getPartitionIds(GetPartitionIdsOptions)

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

getPartitionProperties(string, GetPartitionPropertiesOptions)

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

sendBatch(EventDataBatch, OperationOptions)

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

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오류가 발생합니다. 일괄 처리 크기 제한 내에서 안전하게 보내려면 대신 EventHubProducerClient.createBatch() 또는 EventHubBufferedProducerClient 사용합니다.

사용 예:

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

생성자 세부 정보

EventHubProducerClient(string, EventHubClientOptions)

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

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

매개 변수

connectionString

string

Event Hub 인스턴스에 연결하는 데 사용할 연결 문자열입니다. 공유 키 속성 및 이벤트 허브 경로가 이 연결 문자열에 포함되어야 합니다. 예: '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 클래스는 이벤트 허브에 이벤트를 보내는 데 사용됩니다. 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 클래스는 이벤트 허브에 이벤트를 보내는 데 사용됩니다. 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를 참조하세요. 연결 문자열을 사용하지 않고 SharedAccessKeyName 전달하고 SharedAccessKey 경우 @azure/core-auth의 AzureNamedKeyCredential 사용합니다. 이러한 필드는 AzureNamedKeyCredential각각 namekey 필드에 매핑됩니다. 연결 문자열을 사용하지 않고 SharedAccessSignature 전달하려면 @azure/core-auth의 AzureSASCredential 사용합니다. 이 필드는 AzureSASCredentialsignature 매핑합니다.

options
EventHubClientOptions

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

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

속성 세부 정보

eventHubName

이 클라이언트가 만들어지는 이벤트 허브 인스턴스의 이름입니다.

string eventHubName

속성 값

string

fullyQualifiedNamespace

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

string fullyQualifiedNamespace

속성 값

string

identifier

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

identifier: string

속성 값

string

메서드 세부 정보

close()

이벤트 허브 인스턴스에 대한 AMQP 연결을 닫고 연결 끊김이 완료될 때 해결될 프라미스를 반환합니다.

function close(): Promise<void>

반환

Promise<void>

약속

createBatch(CreateBatchOptions)

지원되는 최대 크기에 도달할 때까지 이벤트를 추가할 수 있는 EventDataBatch 인스턴스를 만듭니다. 일괄 처리는 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>

약속

getEventHubProperties(GetEventHubPropertiesOptions)

이벤트 허브 런타임 정보를 제공합니다.

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

매개 변수

options
GetEventHubPropertiesOptions

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

반환

이벤트 허브 인스턴스에 대한 정보로 해결되는 약속입니다.

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() 사용하여 만든 이벤트 일괄 처리를 연결된 Event Hub에 보냅니다.

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>

약속

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

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

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

사용 예:

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>

약속