Я перебираю массив, и для каждого элемента я выполняю вызов API для функций Azure.
Мне нужно передать «ticketKey» на лазурь, а затем добавить тикет к вызову, который я прошу сделать на лазурном.
Попытался отправить ключ заявки в заголовке запроса вызова ajax, но не уверен, как получить его в лазурном коде и добавить его к звонку, который я делаю оттуда.
Для ясности, запрос ajax переходит к функциям Azure, которые затем запускают код, который вы видели под начальным вызовом ajax.
Мне нужно как-то добраться до содержимого вызова ajax (ticketKey)
и добавить его к вызову функций Azure
(var content = await client.GetStringAsync(https://blah.com/rest/api/2/issue/{ticketKey})
Мой вызов Ajax:
var GetTicketInfo = myArray.forEach(function(ticketKey){
$.ajax
({
type: "GET",
url: "https://blahblah.azurewebsites.net/api/blahblah",
dataType: 'json',
headers : {"ticketKey": ticketKey},
async: false,
success: function (res){
console.log(res);
}
});
});
Код моих функций Azure:
public static class azureApicall
{
[FunctionName("AzureCall")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var client = new HttpClient();
var user = "blah";
var pass = "blah";
var pair = $"{user}:{pass}";
var bytes = Encoding.ASCII.GetBytes(pair);
var base64 = Convert.ToBase64String(bytes);
var authValue = $"Basic {base64}";
client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse(authValue);
client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json"));
var content = await client.GetStringAsync("https://blah.com/rest/api/2/issue/{ticketKey}");
return (ActionResult)new OkObjectResult(content);
}
}
сообщение об ошибке при отладке:
[08/11/2019 11:08:02] Host lock lease acquired by instance ID '0000000000000000000000000359A6B5'.
[08/11/2019 11:08:02] Executing HTTP request: {
[08/11/2019 11:08:02] "requestId": "4739380b-c445-4bb9-8bbc-dd27e1682a63",
[08/11/2019 11:08:02] "method": "POST",
[08/11/2019 11:08:02] "uri": "/api/ConfluenceWidgetTeamCity"
[08/11/2019 11:08:02] }
[08/11/2019 11:08:03] Executing 'ConfluenceWidgetTeamCity' (Reason='This function was programmatically called via the host APIs.', Id=72e4c354-299d-4105-9e3d-56a119c5cd6a)
[08/11/2019 11:08:03] C# HTTP trigger function processed a request.
[08/11/2019 11:08:03] Executed 'ConfluenceWidgetTeamCity' (Succeeded, Id=72e4c354-299d-4105-9e3d-56a119c5cd6a)
[08/11/2019 11:08:03] Executed HTTP request: {
[08/11/2019 11:08:03] "requestId": "4739380b-c445-4bb9-8bbc-dd27e1682a63",
[08/11/2019 11:08:03] "method": "POST",
[08/11/2019 11:08:03] "uri": "/api/ConfluenceWidgetTeamCity",
[08/11/2019 11:08:03] "identities": [
[08/11/2019 11:08:03] {
[08/11/2019 11:08:03] "type": "WebJobsAuthLevel",
[08/11/2019 11:08:03] "level": "Admin"
[08/11/2019 11:08:03] }
[08/11/2019 11:08:03] ],
[08/11/2019 11:08:03] "status": 400,
[08/11/2019 11:08:03] "duration": 579
[08/11/2019 11:08:03] }