如何在Azure功能中定义Azure Blob存储触发器的路径

时间:2017-03-07 01:44:08

标签: azure azure-functions azure-blob-storage

有没有办法在没有定义具体容器的情况下触发Azure功能?

我期待,任何容器中的任何文件都会触发下面的函数。文件和容器的名称应该是变量。

*****function.json:
{
 "bindings": [
   {
    "type": "blobTrigger",
    "name": "myBlob",
    "path": "{container}/{name}",
    "connection": "AzureWebJobsStorage",
    "direction": "in"
   }
],
 "disabled": false
}

*****run.csx:
public static void Run(Stream myBlob, string name, string container, TraceWriter log, out string outputSbMsg)
{
    log.Info("C# Blob trigger function Processed blob");
    log.Info(name);
    log.Info(container);      
}

然而,没有触发任何事情。知道什么是错的吗?

1 个答案:

答案 0 :(得分:3)

  

有没有办法在没有定义具体容器的情况下触发Azure功能?

我假设当前没有定义具体容器的情况下无法触发Azure功能。从Azure Function document,我们可以使用Azure存储blob触发器来监视存储容器。

  

Azure存储blob触发器允许您监视存储容器中是否有新的和更新的blob,并在检测到更改时运行您的功能代码

根据我的经验,我们需要创建多个Azure功能来监控blob作为解决方法。

<强>更新

正如mathewec所说,它是一个开放的issue,更多细节请参考它。