具有Blob存储的Azure功能。如何创建BlobTrigger到子文件夹?

时间:2018-06-21 20:06:32

标签: azure azure-storage azure-storage-blobs azure-functions

我需要对添加到子文件夹中的Blob做出反应。我知道blob存储无法识别文件夹,它们只是虚拟的,但是我仍然不知道如果将文件添加到子文件夹中,如何创建blob触发器。

示例:

摘录自function.json { "name": "myblob", "type": "blobTrigger", "direction": "in", "path": "rootContainer/{name}" }

好的,触发了一个函数,我收到了斑点

摘录自function.json { "name": "subfolder/myblob", "type": "blobTrigger", "direction": "in", "path": "rootContainer/{name}" } 要么 { "name": "myblob", "type": "blobTrigger", "direction": "in", "path": "rootContainer/subfolder/{name}" }

不好,没有触发功能

关于此问题的问题并不多,并且仍然无法提供正常的答案。在文档中也找不到任何信息。

谢谢!

1 个答案:

答案 0 :(得分:3)

简而言之,"path": "rootcontainer/subfolder/{name}"应该可以工作。

功能门户上的日志面板可能无法及时显示日志,您可以转到https://{functionappname}.scm.azurewebsites.net/DebugConsole,然后导航到D:\home\LogFiles\Application\Functions\function\yourblobtriggername以查看日志文件。

如果在函数代码中使用Blob名称,则path应该包含{name},否则由于运行时异常,函数将无法运行。

如果将path设置为mycontainermycontainer/{name}之类的容器,则所有写入此容器的文件(包括上传到虚拟子文件夹的文件)都将触发该功能。 正如您提到的:

  

当根为rootcontainer且其后的blob具有以下名称subfolder/{name}时会被触发

如果将其设置为mycontainer/subfolder/{name}之类的子文件夹,则只有写入该子文件夹的文件才会触发该功能。

如果设置为mycontainer/subfolder,则不会像发现的那样触发。

随时询问您是否还有其他问题。