예제 #1
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            Consoler.Logger = log;
            Consoler.Information("ExtractLogicAppFunction started");
            var authHeader = req.Headers.Single(x => x.Key == "Authorization");

            if (string.IsNullOrEmpty(authHeader.Value))
            {
                return(new UnauthorizedObjectResult("Invalid Token"));                                        // return HTTP 401 Unauthorized
            }
            var    token       = authHeader.Value.ToString().Replace("Bearer", "").Trim();
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

            log.LogInformation(requestBody);

            var data = JsonConvert.DeserializeObject <ExtractLogicAppPayload>(requestBody);

            try
            {
                Extractor = new Extractor();
                Extractor.Authenticate(token);
                await Extractor.ExtractLogicApp(data.ResourceGroup, data.LogicAppName, data.FailedOnly, data.Export, data.StartDateTime, data.EndDateTime);
            }
            catch (Exception e)
            {
                log.LogError("ERROR ExtractLogicAppFunction", e);
                throw;
            }

            return(new OkObjectResult(Extractor.Data));
        }
예제 #2
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("ResourceGroupsFunction started");
            var authHeader = req.Headers.Single(x => x.Key == "Authorization");

            if (string.IsNullOrEmpty(authHeader.Value))
            {
                return(new UnauthorizedObjectResult("Invalid Token"));                                        // return HTTP 401 Unauthorized
            }
            var token = authHeader.Value.ToString().Replace("Bearer", "").Trim();

            Extractor = new Extractor();
            Extractor.Authenticate(token);
            await Extractor.Load();

            return(new OkObjectResult(Extractor.ResourceGroups));
        }