2017-09-25 12 views
1

httpコールをnodejs azure関数に失敗させ、カスタムエラー応答を含める方法が見つかりません。 context.doneを()を呼び出すAzure関数のエラーをトリガーする方法カスタムエラー応答を伴うHTTPトリガー

は、カスタム応答が可能になります(ただし、アプリケーションの洞察に障害として示されていない)、障害を作成しない

呼び出すcontext.done(真、XXX)、それだけには一般的なエラーを返します。ユーザー(私はXXXに入れて何に関係なく):

{"id":"b6ca6fb0-686a-4a9c-8c66-356b6db51848","requestId":"7599d94b-d3f2-48fe-80cd-e067bb1c8557","statusCode":500,"errorCode":0,"message":"An error has occurred. For more information, please check the logs for error ID b6ca6fb0-686a-4a9c-8c66-356b6db51848"} 

これは私がアズールのfuncs上で実行されている高速のウェブAPIを取得しようとしてに走っているだけで、最新の頭痛の種です。エラーを追跡することができない場合は、「Application Insights」と呼ばれることはほとんどありません。何か案は?

答えて

1

成功はtrueになりますが、resultCodeがは、あなたの値に設定されます。

このようAppInsightsクエリ試し:

// Get all errors 
requests 
| where toint(resultCode) >= 400 
| limit 10 

を[更新] 要求にID値が一意にその呼び出しを識別する '機能インスタンスID'、です。

azure関数のログメッセージを含む 'トレース'テーブルもあります。 operation_Idを使用して、要求とトレースの間で結合することができます。

requests 
| where toint(resultCode) >= 400 
| take 10 
| join (traces) on operation_Id 
| project id, message, operation_Id 

応答本体は自動的にAppInsightsに記録されません。それをキャプチャするためにいくつかの明示的なログ文を追加する必要があります。

+0

リクエストの行をリストしますが、 "失敗"ビューのようなトレースログへのリンクはありません。基本的には、失敗の数を除いて、逃げのための有用な情報はありません。 –

+0

ログを取得してリクエストに参加する方法を示すための回答が更新されました。 –

+0

「Application Insights」の一部でもあります。私は、アプリの洞察力から "analytics"クエリページに行くことはできません。それはまったく異なるサービスのようです。なぜMSは非常に混乱しなければならないのですか?うわー、 "Analytics"と言うボタンを見つけてクリックすると、実際の "Application Insights"ダッシュボードには到達できない "Application Insights"というページが表示されます。 –

0

context.resを使用してHTTPトリガー機能の顧客対応を返さないのはなぜですか?

enter image description here

+0

これはユーザーにとっては問題ありませんが、アプリケーションの洞察を誤ることはありません。それは成功と見なされます。真実値をdone()に入れると、エラーとして追跡されますが、あなたの身体は無視され、bs応答が代入されます。 –

+0

Azure機能のApplication Insightを設定するには、[こちらのドキュメント](https://github.com/Azure/Azure-Functions/wiki/App-Insights-(Preview))と[this post](https: //stackoverflow.com/questions/46153008/azure-functions-with-node-js-azure-service-bus-and-apps-insight-error-on-setu/46167895#46167895)。 –

+0

ポータルで定義済みの「失敗」ビューを使用しようとしています。私はライブラリの束をインストールしてカスタムイベントスローを行うことができますが、失敗したリクエストを追跡することは "サーバーレス"ホスティング環境に組み込まれているはずです。 –

関連する問題