다음을 통해 공유


SubscriptionEventHandlers interface

이벤트 허브에서 이벤트를 수신하기 위해 subscribe() 메서드를 호출할 때 EventHubConsumerClient 호출되는 사용자가 구현할 함수를 설명하는 인터페이스입니다.

속성

processClose

구독이 파티션에서 이벤트 읽기를 중지할 때마다 EventHubConsumerClient 호출되는 함수입니다. 이 파티션에 대한 정보는 함수 processClose전달된 PartitionContext 사용할 수 있습니다.

이 함수에 전달된 CloseReasonOwnershipLost경우 다른 구독이 동일한 소비자 그룹을 사용하여 동일한 파티션에서 읽기를 인수합니다. 이는 애플리케이션의 여러 인스턴스가 실행 중이고 부하를 분산하기 위해 클라이언트에 CheckpointStore 전달한 경우에 필요합니다.

CloseReason Shutdown경우 subscription.close() 호출되었거나 오류가 발생했음을 나타냅니다. 구독이 subscription.close()통해 명시적으로 닫혀 있지 않으면 구독은 파티션의 마지막 검사점에서 이벤트 읽기를 다시 시작하려고 시도합니다.

processError

이벤트를 받거나 사용자가 제공한 함수를 실행할 때 발생하는 오류에 대해 EventHubConsumerClient 호출한 함수는 subscribe() 메서드에 전달됩니다.

이 함수에 전달된 PartitionContext 오류가 throw되었을 때 처리되고 있던 파티션을 나타냅니다. 파티션의 이벤트 처리 외부에서 오류가 throw되는 경우(예: 부하 분산 수행 실패) 컨텍스트의 partitionId 빈 문자열이 됩니다.

클라이언트가 이 함수 실행을 완료하면 partitionClose 함수가 호출됩니다.

processEvents

이벤트 집합이 수신될 때 EventHubConsumerClient 의해 호출되는 함수입니다. 이 함수에 전달된 PartitionContext 사용하여 읽는 파티션을 확인할 수 있습니다.

컨텍스트의 updateCheckpoint() 메서드를 사용하여 CheckpointStore 검사점을 업데이트할 수 있습니다(클라이언트에 제공된 경우). 클라이언트가 다시 시작 또는 오류 복구 시 이러한 검사점에서 다시 시작할 수 있도록 처리된 이벤트를 표시하려면 이 간격을 자주 사용합니다.

참고: 수신된 이벤트는 빈 배열일 수 있습니다. 이 문제는 maxWaitTimeInSeconds수신할 새 이벤트가 없는 경우 발생할 수 있으며, 기본값은 60초입니다. maxWaitTimeInSeconds subscribe()전달된 options 설정하여 변경할 수 있습니다.

processInitialize

구독이 파티션에서 읽기를 시작할 때마다 EventHubConsumerClient 호출되는 함수입니다. 이 함수에 전달된 PartitionContext 사용하여 읽을 파티션을 확인할 수 있습니다.

클라이언트는 이 함수의 실행을 완료한 후에만 파티션에 대한 이벤트 수신을 시작합니다(제공된 경우). 따라서 이 함수를 사용하여 비동기 작업을 비롯한 모든 설정 작업을 수행합니다.

속성 세부 정보

processClose

구독이 파티션에서 이벤트 읽기를 중지할 때마다 EventHubConsumerClient 호출되는 함수입니다. 이 파티션에 대한 정보는 함수 processClose전달된 PartitionContext 사용할 수 있습니다.

이 함수에 전달된 CloseReasonOwnershipLost경우 다른 구독이 동일한 소비자 그룹을 사용하여 동일한 파티션에서 읽기를 인수합니다. 이는 애플리케이션의 여러 인스턴스가 실행 중이고 부하를 분산하기 위해 클라이언트에 CheckpointStore 전달한 경우에 필요합니다.

CloseReason Shutdown경우 subscription.close() 호출되었거나 오류가 발생했음을 나타냅니다. 구독이 subscription.close()통해 명시적으로 닫혀 있지 않으면 구독은 파티션의 마지막 검사점에서 이벤트 읽기를 다시 시작하려고 시도합니다.

processClose?: ProcessCloseHandler

속성 값

processError

이벤트를 받거나 사용자가 제공한 함수를 실행할 때 발생하는 오류에 대해 EventHubConsumerClient 호출한 함수는 subscribe() 메서드에 전달됩니다.

이 함수에 전달된 PartitionContext 오류가 throw되었을 때 처리되고 있던 파티션을 나타냅니다. 파티션의 이벤트 처리 외부에서 오류가 throw되는 경우(예: 부하 분산 수행 실패) 컨텍스트의 partitionId 빈 문자열이 됩니다.

클라이언트가 이 함수 실행을 완료하면 partitionClose 함수가 호출됩니다.

processError: ProcessErrorHandler

속성 값

processEvents

이벤트 집합이 수신될 때 EventHubConsumerClient 의해 호출되는 함수입니다. 이 함수에 전달된 PartitionContext 사용하여 읽는 파티션을 확인할 수 있습니다.

컨텍스트의 updateCheckpoint() 메서드를 사용하여 CheckpointStore 검사점을 업데이트할 수 있습니다(클라이언트에 제공된 경우). 클라이언트가 다시 시작 또는 오류 복구 시 이러한 검사점에서 다시 시작할 수 있도록 처리된 이벤트를 표시하려면 이 간격을 자주 사용합니다.

참고: 수신된 이벤트는 빈 배열일 수 있습니다. 이 문제는 maxWaitTimeInSeconds수신할 새 이벤트가 없는 경우 발생할 수 있으며, 기본값은 60초입니다. maxWaitTimeInSeconds subscribe()전달된 options 설정하여 변경할 수 있습니다.

processEvents: ProcessEventsHandler

속성 값

processInitialize

구독이 파티션에서 읽기를 시작할 때마다 EventHubConsumerClient 호출되는 함수입니다. 이 함수에 전달된 PartitionContext 사용하여 읽을 파티션을 확인할 수 있습니다.

클라이언트는 이 함수의 실행을 완료한 후에만 파티션에 대한 이벤트 수신을 시작합니다(제공된 경우). 따라서 이 함수를 사용하여 비동기 작업을 비롯한 모든 설정 작업을 수행합니다.

processInitialize?: ProcessInitializeHandler

속성 값