public static async Task <IActionResult> excecute(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            ILogger log, ExecutionContext context)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");
            //get data from
            string storageAccount   = req.Headers["StorageAccount"];
            string rootFolder       = req.Headers["RootFolder"];
            string localFolder      = req.Headers["LocalFolder"];
            string resolveReference = req.Headers["ResolveReference"];

            string     requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            EntityList entityList  = JsonConvert.DeserializeObject <EntityList>(requestBody);

            var         TenantId    = System.Environment.GetEnvironmentVariable("TenantId");
            var         AppId       = System.Environment.GetEnvironmentVariable("AppId");;
            var         AppSecret   = System.Environment.GetEnvironmentVariable("AppSecret");
            AdlsContext adlsContext = new AdlsContext()
            {
                StorageAccount = storageAccount,
                FileSytemName  = rootFolder,
                TenantId       = TenantId,
                ClientAppId    = AppId,
                ClientSecret   = AppSecret
            };
            ManifestHandler manifestHandler = new ManifestHandler(adlsContext, localFolder);

            bool resolveRef = false;

            if (resolveReference.Equals("true", StringComparison.OrdinalIgnoreCase))
            {
                resolveRef = true;
            }

            bool ManifestCreated = await manifestHandler.createManifest(entityList, resolveRef);

            //Folder structure Tables/AccountReceivable/Group
            var    subFolders      = localFolder.Split('/');
            string localFolderPath = "";

            for (int i = 0; i < subFolders.Length - 1; i++)
            {
                var currentFolder = subFolders[i];
                var nextFolder    = subFolders[i + 1];
                localFolderPath = $"{localFolderPath}/{currentFolder}";

                ManifestHandler SubManifestHandler = new ManifestHandler(adlsContext, localFolderPath);
                await SubManifestHandler.createSubManifest(currentFolder, nextFolder);
            }

            var status = new ManifestStatus()
            {
                ManifestName = entityList.manifestName, IsManifestCreated = ManifestCreated
            };

            return(new OkObjectResult(JsonConvert.SerializeObject(status)));
        }