我正在遍历数组,并且foreach项正在对azure函数进行api调用。
我需要将'ticketKey'传递给azure,然后将工单密钥附加到我要求azure进行的呼叫中。
试图在ajax调用的请求标头中发送票证密钥,但不确定如何在azure代码中接收该票证并将其附加到我在那里进行的调用中。
需要明确的是,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] }