当文件上传到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的示例,但我似乎无法让它工作,所以想想我错过了什么?
答案 0 :(得分:4)
使用此语法进行绑定。诀窍是在属性中指定FileAccess.ReadWrite
。文档相当令人困惑地将其称为" inout"出于某种原因。
[Blob("imageanalysis/{name}", FileAccess.ReadWrite, Connection = "AzureWebJobsStorage")] CloudBlockBlob blob, string name