2017-03-14 13 views
1

많은 것들을 시도했지만 AzFn이 호출을 이해하지 못하게하는 유일한 방법은 예외를 던지거나 처리하지 않는 것입니다. 따라서 HttpResponseException을 반환하면 AzFn은 호출을 성공으로 간주합니다. 그것은 틀린 느낌입니다.Azure 함수에서 수동으로 호출을 실패로 표시 할 수 있습니까?

catch (Exception ex) 
    { 
     logger.Error($"{nameof(ex)}: {ex.Message}", ex); 
     response = req.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message, ex); 

    } 

이렇게하면 호출은 실패로 표시되지만 생성되지는 않습니다.

답변

6

함수에서 throw 된 모든 예외는 함수를 실패한 것으로 표시합니다. 위의 코드에서 예외를 삼키기 때문에 성공할 수 있다고 생각합니다. 대신 예외를 다시 발생 시키면 기능이 실패로 표시됩니다. 사용자를 대신하여 자동으로 500 건을 반환합니다.

함수가 성공했는지 여부를 확인하기 위해 반환하는 HttpStatusCode을 보지 않았습니다. 함수가 예외없이 완료까지 성공적으로 실행되었는지 여부 만 확인합니다. 함수가 응답을 반환 할 수 있다면 우리의 관점에서 성공한 것입니다.

+0

감사합니다. 의미가 있습니다 - 이에 대한 문서에서 구체적인 내용이나 모범 사례를 찾을 수 없습니다. – imbageek