httpTrigger中的Blob绑定在VS2017 Azure函数模板中不起作用

时间:2018-10-10 13:09:23

标签: c# azure azure-functions

我想通过如下所示的get请求将blob的文件名传递给httptrigger。

http://localhost:7071/api/CSVDataMigrationHttpTrigger/testdata.csv

天蓝色函数的代码

public static async Task<HttpResponseMessage> Run(
        [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "CSVDataMigrationHttpTrigger/{name}")]
        HttpRequest req, string name,
        [Blob("csvdata-upload/{name}", FileAccess.Read, Connection = "AzureWebJobsStorage")]
        Stream inputBlob, ILogger log)
    {}

inputBlob参数未解析,它返回null。

但是,如果我在Blob参数中将文件名指定为“ testData.csv”,则inputBlob得到正确解析。

  public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "CSVDataMigrationHttpTrigger/{name}")]
            HttpRequest req, string name,
            [Blob("csvdata-upload/testData.csv", FileAccess.Read, Connection = "AzureWebJobsStorage")]
            Stream inputBlob, ILogger log){}

2 个答案:

答案 0 :(得分:1)

我终于发现,传递给blob时,文件名区分大小写。希望它能对遇到同样问题的任何人有所帮助。

答案 1 :(得分:1)

检查您的blob是否实际上已上传到存储容器中。仅当斑点不存在 / 无法在容器中找到

时,流才会是null