2016-05-18 14 views
1

私は、トリガ中にazure webjobに複数の引数を送信しようとしています。このhttps://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-jobによると、トリガされたAzure webjosに複数の引数を送信

私のようなのようにそれを呼び出すことができます。 POST /api/triggeredwebjobs/{job name}/run?arguments={arguments}

私のような複数の引数を追加する方法はいくつか試してみました:

?arguments=1&arguments=2 
?arguments[]=1&arguments[]=2 
?arguments[0]=1&arguments[1]=2 
?arguments={1,2} 

などを、私はいくつかのより多くの愚かなものを試してみましたが、また、フォームデータを使用しようとしました。誰も働いていないようだ。私のwebjobは最初の引数だけを取得しています。たとえば、私がこれを行うとき:

上記の例では最初のものが動作しますが、2番目の行がインデックスを超えているという例外があります。複数の引数を持つWebジョブをトリガする方法はありますか?あれがどうすれば実現できますか?

+0

はなかったですtry?argument = 1,2? – Thomas

+0

@Thomasはい私はしました – erincerol

答えて

0

引数はスペースで区切らなければなりません:string arguments = "arg1 arg2 arg3";

3

私はあなたが探している黄金のナゲットがあると思う:

run?arguments={arg1} {arg2} 

完全な作業サンプルは、このような何か読んでいました:

using (var client = new HttpClient()) 
{ 
    client.BaseAddress = new Uri("https://your-app-name.scm.azurewebsites.net/"); 
    client.DefaultRequestHeaders.Accept.Clear(); 

    //username and password from Publish Profile, can test via https://your-app-name.scm.azurewebsites.net/basicAuth 
    var userName = "$your-app-name"; 
    var password = "go30T5qqBfl0mv3wzhezrkifrKrPEw78ZieLE0JfwYEZ1yx6wy3hDgygBvbM"; 

    var encoding = new ASCIIEncoding(); 
    var authHeader = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(encoding.GetBytes(string.Format($"{userName}:{password}")))); 
    client.DefaultRequestHeaders.Authorization = authHeader; 

    HttpResponseMessage response = await client.PostAsync($"api/triggeredwebjobs/YourTriggeredWebJob/run?arguments={arg1} {arg2}", new StringContent("")); 
} 
+0

上記の例の@erincerolを使用して作業しましたか? –

+0

私は上記の解決策を試しましたが、次のエラーが表示されます: "/ api/triggeredwebjobs/indexer/run?arguments = update 100 'のルートが登録されていません – Talon

関連する問題