2016-05-09 7 views
3

Kudu Azure WebJobs APIドキュメントを見るhttps://github.com/projectkudu/kudu/wiki/WebJobs-API WebJobをプログラムで管理するためにいくつかの呼び出しがあります。継続的なAzure WebJob呼び出しの詳細を取得する方法

欠けているものは、連続したWebジョブに対して、単一の呼び出しの詳細を取得する呼び出しです。呼出しとは、与えられたメッセージのための関数の単一の実行を意味します。

私がしようとしているのは、親呼び出しの例外メッセージを取得するために、ポイズンキューに入るメッセージです。毒メッセージでは、親呼び出しのIDをjson prop $ AzureWebJobsParentIdで取得します。

私は、エラーの詳細を電子メールで送信し、メッセージをデッドレターキューに移動する機能を使用して、ポイズンキューを管理したいと考えています。

可能かどうか

+0

ないあなたは上記にリンクAPIこと一般的なWebJobs APIであり、SDKについては何も知らない。しかし、あなたの質問はSDK固有のものです。あなたはタイトルを微調整してより明瞭にすることができます。 –

+0

Ok @DavidEbbo私が参照するApiはKudu Apiであり、見る場所ではありません。私は、トリガーされた仕事の詳細を取得する呼び出しがあるので、それだと思った。代わりにどこを見るべきかについての示唆はありますか?道がなければ変わってしまうだろう。それは私には有益なシナリオに見えます。とにかく、コメントありがとう。 –

+0

Kudu APIは、連続WebJobとトリガーWebJobについてのみ認識します。継続的なWebJobがSDKを使用している場合、Kuduにはそれに関する知識はありません。ですから、あなたの質問はもっと重要です。SDKを使用する場合、詳細を取得するためのAPIがあります。 –

答えて

0

WebJobs SDK呼び出しIDを指定すると、その実行の詳細にWebJobs Dashboardを介してアクセスできます。ポータルのWebJobsブレードを使用してダッシュボードにアクセスできます(リンクは[LOGS]列に表示されます)。

それとも、URLを自分で形成することができるブラウザで、例えば(アプリ名と呼び出しIDを代入):

https://<yourapp>.scm.azurewebsites.net/azurejobs/#/functions/invocations/<invocation-id> 

手動これらの詳細にアクセスする方法です。

+0

ええ、メッセージがポイズンキューに移動したときに、自動的な電子メールアラートでその情報を使用するために、同じ情報をいくつかのAPI呼び出しで持つ方法を探しました。 –

4

Azure WebJobs SDK Core extensionsには、ExecutionContextのバインドが含まれているため、関数内の呼び出し固有のシステム情報にアクセスできます。関数呼び出しのIDにアクセスする方法を示す例:呼び出しIDは、ダッシュボードのログに使用されている

public static void ProcessOrder(
    [QueueTrigger("orders")] Order order, 
    TextWriter log, 
    ExecutionContext context) 
{ 
    log.WriteLine("InvocationId: {0}", context.InvocationId); 
} 

ので、これにアクセスするプログラムで、あなたはこれらのログに呼び出しを相関させることができます。

1

まだこれを行うには公式の方法はありませんが、個々の機能のインスタンスを読み取るための安定したAPI(C#およびREST)を露出追跡する問題があります:ステータスの参照https://github.com/Azure/azure-webjobs-sdk/issues/880

+0

ありがとうマイク。追加するのは素晴らしい機能ですし、おそらくそれほど難しいことではありません。それは有害なキュー処理を容易にするでしょう。 –

関連する問題