Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# BLOB触发Azure函数中的可选变量_C#_Azure_Azure Functions_Blob_Azure Storage Blobs - Fatal编程技术网

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

C# BLOB触发Azure函数中的可选变量,c#,azure,azure-functions,blob,azure-storage-blobs,C#,Azure,Azure Functions,Blob,Azure Storage Blobs,为Azure函数配置blob触发器时,可以使用blob名称上的模式匹配将名称的部分映射到函数中的变量。例如: [FunctionName("BlobTriggered")] public static void BlobTriggered( [BlobTrigger("myContainer/{name}.{extension}")] Stream myBlob, string name, string extension, TraceWriter

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

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

但是如果我想要其中一个变量是可选的呢?对于给定的示例,如果希望扩展是可选的,该怎么办?因此,我需要使
和扩展本身成为可选的。这可能实现吗?

您可以删除该模式,自己这样处理文件名和扩展名

    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)}");
    }
在下面的日志条目中,第一次上载带有扩展名,最后一次上载没有扩展名


您是否尝试过在扩展上设置默认值<代码>字符串名称,字符串扩展名=”,可选是什么意思?您想筛选扩展名?@ffffff 01,因为
,它无法工作,对吗@geogechen我希望上传的文件与表达式匹配,而不管是否有扩展名。因此,我可以处理一个名为123的文件,以及123.png。@ffffff 01我刚刚尝试过,如果我在用于模式匹配的字符串中使用
{extension}
,则每当将没有扩展名的文件添加到BLOB Storages时,该函数将永远不会被触发。我将在今天晚些时候使自己成为一个函数并进行测试。