I am creating an Azure function that triggers when an image is uploaded or added to a particular Azure Storage, and it does the following: 1.) Resize the image 2.) Put the image to correct directory (using Output binding) 3.) Delete the original blob image that was added to Azure Storage after processing.
I am done with steps 1 and 2 in the process, but I'm finding less to no documentation about deleting a blob or an API that would expose methods for Azure Storage. (Using C#)
Here's the sample code:
#r "System.Drawing"
using System;
using ImageResizer;
using System.Drawing;
using System.Drawing.Imaging;
public static void Run(Stream inputImage, string imageName, Stream resizedImage, TraceWriter log)
{
// Log the file name and size
log.Info($"C# Blob trigger function Processed blob\n Name:{imageName} \n Size: {inputImage.Length} Bytes");
// Manipulate the image
var settings = new ImageResizer.ResizeSettings
{
MaxWidth = 400,
Format = "png"
};
ImageResizer.ImageBuilder.Current.Build(inputImage, resizedImage, settings);
// Delete the Raw Original Image Step
}
To delete a blob, you need to
var container = blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(fileName);
return blockBlob.DeleteIfExists();
Make sure that your close all streams before you try this so the image is no longer in use.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With