问题描述
我正在创建一个 Azure 函数,该函数在图像上传或添加到特定 Azure 存储时触发,它执行以下操作:1.) 调整图像大小2.) 将图像放到正确的目录中(使用输出绑定)3.) 删除处理后添加到 Azure 存储的原始 blob 图像.
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.
我已完成该过程中的步骤 1 和 2,但我发现几乎没有关于删除 Blob 或 API 的文档会公开 Azure 存储的方法.(使用 C#)
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#)
示例代码如下:
#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
Name:{imageName}
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
}
推荐答案
要删除一个blob,你需要
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.
这篇关于如何使用 Azure Functions 删除 blob?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!