2017-02-15 3 views
0

필자는 이벤트 허브의 메시지를 처리하고 메시지를 Azure 테이블에 기록하는 Azure 기능을 작성했습니다.Azure 함수 오류 처리?

Azure 함수에서 오류 처리는 정확히 어떻게 작동합니까? Azure 테이블에 제대로 기록되지 않은 경우 메시지가 Event Hub에서 영구적으로 제거되지 않도록 메시지 처리 실패를 알리는 방법은 무엇입니까?

+0

당신은 고전적인 예외를 던집니다 했습니까? –

+0

Azure 테이블 삽입시 오류가 발생하면 작업을 허브로 다시 밀어 넣을 수 있습니까? –

+0

그러나 기본 동작은 무엇입니까? 내 코드에서 예외가 발생하는 경우 어떻게됩니까? 이벤트 허브 메시지가 자동으로 자동으로 다시 처리되거나 사라지나요? – OlavT

답변

0

이벤트 허브 메시지가 사라집니다. 좋은 정보가 msdn에 있습니다.

EventHubs는 대량 처리량을위한 것입니다. 여기서 중요한 의미가있는 의미가 있습니다. 이는 일괄 처리 ( )의 이벤트를 처리하고 대량으로 배치를 처리함으로써 발생합니다. 따라서 개별 이벤트와 독 대기열을 다시 시도하는 것은 도움이되지 않습니다.

일부 옵션 :

  1. 당신이 낮은 볼륨을 경우는, 대신 푸른 큐를 사용합니다. 더 나은 재 시도 및 포이즌 대기열 의미가 있습니다

  2. 처리기는 사용자 코드에서 오류를 포착하고 사용자 자신의 포이즌 큐로 다시 시도하거나 자신의 오류 처리 정책을 수행 할 수 있습니다.

당신은 독 큐에 Azure Functions Bindings docs, 저장 QueueTriggers 및 BlobTriggers 라우팅 할 메시지를보고하고, 서비스 버스 대기열/주제/구독 서비스 버스 수준에서 포이즌 메시지를 처리합니다.

0

그냥 EventHub + Azure Queue와 같은 것을 어떻게 사용 하시겠습니까? 의미있는 이벤트 허브를 사용하여 높은 트래픽 데이터를 퍼널 링하고 Azure 기능을 트리거하도록 설정 한 다음 잘못 된 것이 있으면 페이로드를 Azure 대기열로 푸시하여 Azure 대기열에서 폴백 처리를 수행하고 더 나은 문제 해결을 허용 할 수 있습니다. 매트가 위에서 제안한 것과 마찬가지로 대량 데이터 대기열 또는 데이터 파이프 라인과 비슷하게 말하면 큐 데이터의 특성으로 인해 데이터 보존에 제한이 있습니다.