public static async Task <IActionResult> HttpTrigger( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] PostAzureCostToMackerelRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); await Run(req, log); return(new NoContentResult()); }
private static async Task Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] PostAzureCostToMackerelRequest req, ILogger log) { log.LogInformation("PostAzureCostToMackerelFunction.Function.Run"); log.LogInformation(JsonConvert.SerializeObject(req)); var usageDetailList = await QueryUsageDetails(log, req.SubscriptionId); if (usageDetailList.Count() == 0) { log.LogInformation("Usage not found."); return; } var serviceName = req.ServiceName; var serviceMetrics = ToServiceMetrics(usageDetailList); serviceMetrics.ToList().ForEach(x => log.LogInformation(JsonConvert.SerializeObject(x))); await PostServiceMetrics(serviceMetrics, serviceName); }