aBl*_*aze 8 triggers azure azure-storage-blobs azure-blob-storage azure-functions
我有一个在 blob 触发器上启动的 Azure 函数。有趣的是,如果我将此 Azure Function 的更新版本发布到云,并且如果已经存在 Blob,则将在这些已存在的 Blob 上触发 Azure Function。
这不是我想要的功能。相反,我希望新发布的 Azure 函数仅在新上传的 blob 上触发,而不是在已存在的 blob 上触发。如何禁用对现有 blob 的触发?
如何禁用对现有 blob 的触发?
目前没有办法做到这一点,也不推荐这样做。
在内部,我们通过将收据存储在我们的控制容器中来跟踪我们处理了哪些 blob azure-webjobs-hosts。任何没有收据的 blob 或旧收据(基于 blob ETag)都将被处理(或重新处理)。这就是为什么您现有的 blob 正在被处理,它们没有收据。
BlobTrigger当前旨在确保最终处理与路径模式匹配的容器中的所有 blob,并在它们更新时重新处理。因此,在所有 blob 都有收据后,当您上传新 blob 时,它只会由新 blob 触发。
更多细节,你可以参考这篇文章。
当文件上传到 Azure Blob 存储或在其中更新时,会触发 Blob 触发器函数。如果您禁用对现有 Blob 的触发,当您更新 Blob 时,它不会获得最新的内容,不推荐。
解决方法:
如果你还想在新上传的blob上触发,可以在调用函数的时候加一个判断。
列出容器中所有现有的 blob,当 blob 触发调用时,检查 blob 名称是否在列表中,如果没有,您可以继续触发方法。
| 归档时间: |
|
| 查看次数: |
2459 次 |
| 最近记录: |