我需要对添加到子文件夹中的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}"
}
不好,没有触发功能
关于此问题的问题并不多,并且仍然无法提供正常的答案。在文档中也找不到任何信息。
谢谢!
答案 0 :(得分:3)
简而言之,"path": "rootcontainer/subfolder/{name}"
应该可以工作。
功能门户上的日志面板可能无法及时显示日志,您可以转到https://{functionappname}.scm.azurewebsites.net/DebugConsole
,然后导航到D:\home\LogFiles\Application\Functions\function\yourblobtriggername
以查看日志文件。
如果在函数代码中使用Blob名称,则path
应该包含{name}
,否则由于运行时异常,函数将无法运行。
如果将path
设置为mycontainer
或mycontainer/{name}
之类的容器,则所有写入此容器的文件(包括上传到虚拟子文件夹的文件)都将触发该功能。
正如您提到的:
当根为
rootcontainer
且其后的blob具有以下名称subfolder/{name}
时会被触发
如果将其设置为mycontainer/subfolder/{name}
之类的子文件夹,则只有写入该子文件夹的文件才会触发该功能。
如果设置为mycontainer/subfolder
,则不会像发现的那样触发。
随时询问您是否还有其他问题。