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