当文件上传到 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,或者我是否需要使用输入/输出绑定(bind)或其他东西?
浏览文档时,我看到了使用 CloudBlockBlob 的示例,但我似乎无法让它工作,所以我认为我错过了一些东西?
最佳答案
使用此语法进行绑定(bind)。诀窍是在属性中指定FileAccess.ReadWrite
。由于某种原因,文档将其称为“inout”,相当令人困惑。
[Blob("imageanalysis/{name}", FileAccess.ReadWrite, Connection = "AzureWebJobsStorage")] CloudBlockBlob blob, string name
关于Azure Function Blob 触发器 CloudBlockBlob 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49384959/