EventHubProducerClient class
EventHubProducerClient
클래스는 이벤트 허브에 이벤트를 보내는 데 사용됩니다.
EventHubProducerClient
만드는 방법에는 여러 가지가 있습니다.
- Event Hub 인스턴스에 대해 만든 SAS 정책의 연결 문자열을 사용합니다.
- Event Hub 네임스페이스에 대해 만든 SAS 정책의 연결 문자열 및 Event Hub 인스턴스의 이름 사용
-
<yournamespace>.servicebus.windows.net
같은 전체 네임스페이스 및 자격 증명 개체를 사용합니다.
필요에 따라 옵션 모음을 전달하여 재시도 정책 또는 프록시 설정을 구성할 수도 있습니다.
생성자
Event |
|
Event |
|
Event |
|
속성
event |
이 클라이언트가 만들어지는 이벤트 허브 인스턴스의 이름입니다. |
fully |
이 클라이언트가 만들어지는 Event Hub 인스턴스의 정규화된 네임스페이스입니다. 이는 .servicebus.windows.net 유사할 수 있습니다. |
identifier | 이 EventHubProducerClient를 식별하는 데 사용되는 이름입니다. 지정하지 않거나 비워 두면 임의의 고유 항목이 생성됩니다. |
메서드
close() | 이벤트 허브 인스턴스에 대한 AMQP 연결을 닫고 연결 끊김이 완료될 때 해결될 프라미스를 반환합니다. |
create |
지원되는 최대 크기에 도달할 때까지 이벤트를 추가할 수 있는 partitionKey 또는 partitionId에 대한 값이 다른 이벤트는 다른 일괄 처리에 넣어야 합니다.
파티션 간에 이러한 일괄 처리를 간소화하거나 클라이언트가 이벤트를 자동으로 일괄 처리하고 특정 간격으로 보내도록 하려면 대신 아래 예제에서는 안전하게 일괄 처리할 이벤트 배열이 있다고 가정합니다.
이벤트가 하나씩 들어오는 경우 일괄 처리의 효율적인 관리를 위해 대신 사용 예:
|
get |
이벤트 허브 런타임 정보를 제공합니다. |
get |
이벤트 허브와 연결된 각 파티션에 대한 ID를 제공합니다. |
get |
지정된 파티션의 상태에 대한 정보를 제공합니다. |
send |
partitionKey 또는 partitionId에 대한 값이 다른 이벤트는 다른 일괄 처리에 넣어야 합니다.
파티션 간에 이러한 일괄 처리를 간소화하거나 클라이언트가 이벤트를 자동으로 일괄 처리하고 특정 간격으로 보내도록 하려면 대신 아래 예제에서는 안전하게 일괄 처리할 이벤트 배열이 있다고 가정합니다.
이벤트가 하나씩 들어오는 경우 일괄 처리의 효율적인 관리를 위해 대신 사용 예:
|
send |
이벤트 배열을 연결된 이벤트 허브에 일괄 처리로 보냅니다. Azure Event Hubs는 보낼 수 있는 일괄 처리의 크기에 제한이 있으며, 이를 초과하면 코드 사용 예:
|
생성자 세부 정보
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
클라이언트가 Azure Event Hubs 서비스와의 연결을 인증하는 토큰을 가져오는 데 사용하는 자격 증명 개체입니다.
AAD 인증을 지원하는 자격 증명을 만드는 @azure/ID를 참조하세요. 연결 문자열을 사용하지 않고 SharedAccessKeyName
전달하고 SharedAccessKey
경우 @azure/core-auth의 AzureNamedKeyCredential
사용합니다. 이러한 필드는 AzureNamedKeyCredential
각각 name
및 key
필드에 매핑됩니다.
연결 문자열을 사용하지 않고 SharedAccessSignature
전달하려면 @azure/core-auth의 AzureSASCredential
사용합니다. 이 필드는 AzureSASCredential
signature
매핑합니다.
- 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로 보낼 EventHubProducerClient
sendBatch 메서드에 전달될 수 있습니다.
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
작업 호출에 적용할 옵션 집합입니다.
반환
Promise<EventHubProperties>
이벤트 허브 인스턴스에 대한 정보로 해결되는 약속입니다.
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
작업 호출에 적용할 옵션 집합입니다.
반환
Promise<PartitionProperties>
파티션의 상태에 대한 정보로 확인되는 프라미스입니다.
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
배열입니다.
- options
- SendBatchOptions
이벤트가 연결된 이벤트 허브로 전송되는 방식에 영향을 주도록 지정할 수 있는 옵션 집합입니다.
-
abortSignal
: 보내기 작업을 취소하라는 요청을 알리는 신호입니다. -
partitionId
: 이 일괄 처리가 전송되는 파티션입니다. 설정된 경우partitionKey
설정할 수 없습니다. -
partitionKey
: 파티션 할당을 생성하기 위해 해시되는 값입니다. 설정된 경우partitionId
설정할 수 없습니다.
반환
Promise<void>
약속