本文介绍了如何使用Azure Functions删除Blob?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个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 image2.) 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的文档很少,甚至没有,这些API会公开Azure Storage的方法. (使用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\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
}

推荐答案

要删除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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 20:38