public static async Task Run(
            [EventGridTrigger] EventGridEvent eventGridEvent,
            [Blob("{data.url}", FileAccess.Read)] Stream input,
            ILogger log)
        {
            try
            {
                if (input != null)
                {
                    var createdEvent = ((JObject)eventGridEvent.Data).ToObject <StorageBlobCreatedEventData>();
                    var extension    = Path.GetExtension(createdEvent.Url);
                    var encoder      = SupportFuncs.GetEncoder(extension);

                    if (encoder != null)
                    {
                        Task <string> storeImgInfoTask = SupportFuncs.StoreImgInfo(createdEvent.Url, input);
                        await         storeImgInfoTask;
                        if (storeImgInfoTask.Result == "")
                        {
                            log.LogInformation($"Something went wrong trying to create ImgInfo.");
                        }
                    }
                    else
                    {
                        log.LogInformation($"No encoder support for: {createdEvent.Url}");
                    }
                }
            }
            catch (Exception ex)
            {
                log.LogInformation(ex.Message);
                throw;
            }
        }
        public static async Task Run(
            [EventGridTrigger] EventGridEvent eventGridEvent,
            [Blob("{data.url}", FileAccess.Read)] Stream input,
            ILogger log)
        {
            try
            {
                if (input != null)
                {
                    var createdEvent = ((JObject)eventGridEvent.Data).ToObject <StorageBlobCreatedEventData>();
                    var extension    = Path.GetExtension(createdEvent.Url);
                    var encoder      = SupportFuncs.GetEncoder(extension);

                    if (encoder != null)
                    {
                        var thumbnailWidth     = Convert.ToInt32(Environment.GetEnvironmentVariable("THUMBNAIL_WIDTH"));
                        var thumbContainerName = Environment.GetEnvironmentVariable("THUMBNAIL_CONTAINER_NAME");
                        var storageAccount     = CloudStorageAccount.Parse(BLOB_STORAGE_CONNECTION_STRING);
                        var blobClient         = storageAccount.CreateCloudBlobClient();
                        var container          = blobClient.GetContainerReference(thumbContainerName);
                        var blobName           = SupportFuncs.GetBlobNameFromUrl(createdEvent.Url);
                        var blockBlob          = container.GetBlockBlobReference(blobName);

                        using (var output = new MemoryStream())
                            using (Image <Rgba32> image = Image.Load(input))
                            {
                                var divisor = image.Width / thumbnailWidth;
                                var height  = Convert.ToInt32(Math.Round((decimal)(image.Height / divisor)));

                                image.Mutate(x => x.Resize(thumbnailWidth, height));
                                image.Save(output, encoder);
                                output.Position = 0;
                                await blockBlob.UploadFromStreamAsync(output);
                            }
                    }
                    else
                    {
                        log.LogInformation($"No encoder support for: {createdEvent.Url}");
                    }
                }
            }
            catch (Exception ex)
            {
                log.LogInformation(ex.Message);
                throw;
            }
        }