我们如何防止azure函数处理已处理的blob?

时间:2018-05-20 11:50:33

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

我有一个天蓝色的功能,它绑定到blob存储。成功处理blob后,我使用后缀'-Processed'重命名该文件。

但我的天蓝色功能再次拾取相同的blob进行处理。我尝试在BlobTrigger绑定中放置{name} .csv过滤器,但这没有帮助,因为即使重命名后文件仍然是csv。

我知道我可以过滤blob以在文件名中包含特定字符串,例如“original- {name}”将过滤以original开头的文件。 但是在azure函数中是否有一种方法可以使用它来过滤blob名称而不包含特定的字符串,在我的情况下是'-Processed'?

2 个答案:

答案 0 :(得分:4)

  1. 只需使用两个不同的路径处理已处理和未处理的blob。
  2. 在重命名删除前缀时,将新blob添加前缀(" notprocessed - "例如)。设置"path": "input/notprocessed-{name}"

答案 1 :(得分:0)

实际上,仅blob服务支持按blob前缀过滤而不支持后缀。您唯一的选择是列出blob,然后进行客户端过滤。

此外,列表blob操作还有一个delimiter参数,使调用者可以使用用户配置的分隔符遍历blob命名空间。

您可以参考此article了解详情。