Azure功能Blob触发器CloudBlockBlob绑定

时间:2018-03-20 13:03:21

标签: azure azure-storage-blobs azure-functions

当文件上传到Blob存储时,我触发了以下Azure功能

[FunctionName("ImageAnalysis")]
    public static async void Run(
        [BlobTrigger("imageanalysis/{name}", Connection = "AzureWebJobsStorage")] Stream myBlob, 
        string name, 
        TraceWriter log)
    {
        log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
    }

我想处理已经上传的Blob,理想情况下我想将它作为CloudBlockBlob而不是Stream。然后我可以做一些工作,然后删除blob。

myBlob.DeleteIfExists()

是否有一种简单的方法可以将我的Stream转换或转换为CloudBlockBlob,还是需要使用输入/输出绑定或其他东西?

查看文档,我看到使用CloudBlockBlob的示例,但我似乎无法让它工作,所以想想我错过了什么?

1 个答案:

答案 0 :(得分:4)

使用此语法进行绑定。诀窍是在属性中指定FileAccess.ReadWrite。文档相当令人困惑地将其称为" inout"出于某种原因。

[Blob("imageanalysis/{name}", FileAccess.ReadWrite, Connection = "AzureWebJobsStorage")] CloudBlockBlob blob, string name