Azure函数中由BLOB触发的可选变量

问题描述 投票:0回答:1

[为Azure函数配置Blob触发器时,可以在Blob名称上使用模式匹配,以将名称的一部分映射到函数中的变量。例如:

[FunctionName("BlobTriggered")]        
public static void BlobTriggered(
    [BlobTrigger("myContainer/{name}.{extension}")] Stream myBlob,
    string name,
    string extension,
    TraceWriter log)
{
    ...
}

但是如果我希望变量之一是可选的怎么办?对于给定的示例,如果我希望扩展名是可选的怎么办?因此,我需要将.和扩展名本身设为可选。有可能实现吗?

c# azure azure-functions blob azure-storage-blobs
1个回答
1
投票

您可以这样删除样式并自己处理文件名和扩展名。

    public static void Run([BlobTrigger("test/{name}", Connection = "teststorage_STORAGE")]Stream myBlob, string name, ILogger log)
    {
        log.LogInformation($"Name: {Path.GetFileName(name)}");
        log.LogInformation($"Extension: {Path.GetExtension(name)}");
    }

在下面的日志条目中,第一次上传是带有扩展名,最后一个没有扩展名。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.