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))); }