我想使用C#代码列出Azure连续WebJobs的功能。是否可以使用Kudu的API实现此目的?还是有其他选择来获取此列表?
答案 0 :(得分:1)
您可以使用KUDU API列出所有触发器Webjob。
使用GET /api/continuouswebjobs
。
请参考以下代码:
string userName = "$";
string userPassword = "";
string webAppName = "";
var base64Auth = Convert.ToBase64String(Encoding.Default.GetBytes($"{userName}:{userPassword}"));
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Basic " + base64Auth);
var baseUrl = new Uri($"https://{webAppName}.scm.azurewebsites.net/");
var requestURl = baseUrl + "api/continuouswebjobs";
var response = client.GetAsync(requestURl).Result.Content.ReadAsStringAsync();
var json = JArray.Parse(response?.Result);
List<string> list = new List<string>();
for (int i = 0; i < json.Count; i++)
{
var name = json[i]["name"];
list.Add(name.ToString());
}
}
WebJob API需要Basic Authentication使用发布凭据,here讨论了不同类型的凭据。您可以从Get Publish Profile
的Azure门户下载发布凭据。