首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次在现有文件上运行blob存储触发器

多次在现有文件上运行blob存储触发器
EN

Stack Overflow用户
提问于 2022-03-22 15:31:19
回答 1查看 961关注 0票数 0

我已经多次使用一种方法在相同的文件上运行存储触发器,方法是进入我的存储帐户并删除在‘azure-webjobs’>主机‘>’blobs‘>’函数应用程序名称‘’> 'Blob触发器名称‘>中找到的Blob blobs=’blobs 10‘>类.

我认为这是我所需要担心的,以便能够再次在相同的文件上运行我的函数,但是,我肯定遗漏了一些东西,因为这看起来非常不一致。

据我所知,每当触发器在一个文件上运行时,就应该在与处理该文件的函数相关的be文件夹中创建另一个文件。我的猜测是,这个新创建的文件中的“b头收据”保存了所有的数据,以防止该函数再次运行在同一文件(如文件的电子标签?等等)。所以,我的想法是,如果我只删除在文件夹中找到的任何东西,我就可以再次运行我的函数了。但是,有时在我的函数运行完数千个文件之后,我会去检查一下‘blob’中的文件,发现里面只有一个文件/blob。或者,还有很多文件我必须从那里删除,但是即使这样做了,我的函数似乎也不会再次运行每个文件。总的来说,这种方法似乎奏效了,但只在一定程度上起作用。

一定有什么东西我错过了。为了在所有相同的文件上再次运行我的blob存储触发器,我还需要处理一些其他的东西。有什么想法/建议吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-23 08:36:45

是的,Azure函数将多次运行在相同的文件上。如果已经存在,它将更新相同文件中的内容。

在更新相同文件上的内容之前,将检查文件是否在内部存在,如果存在,则将失败操作,直到我们在手动上传Blob时通过代码级别或门户提供对覆盖的权限。

我试图通过上传相同的文件来运行Azure函数Blob触发器。当第二次上传相同的文件时,它要求文件存在,所以overwritedo not upload选项。如果我们选择了覆盖,那么函数将运行触发器并更新内容。

多个文件的:

第一次上传15个文本文件。第二次上传25个文本文件(15个相同,10个是新文件)

为现有文件上传并接受覆盖生成的覆盖选项。

函数已经运行了数千个文件--我将检查一下‘blob’中的文件,并发现其中只有一个文件/blob。或者,还有很多文件我必须从那里删除,但是即使这样做了,我的函数似乎也不会再次运行每个文件。

在运行Azure函数期间,当您上传大量文件时,您必须编写如下逻辑:

如果存在blob文件,则将其他上传作为新文件覆盖到blob容器中,并在函数.中处理文件数据。

对于这个逻辑,请参考Overwriting the Blob Storage in Azure Function Codechecking if a blob exists in Azure Storage

此外,one of the workarounds还将上传多个JSON文件,并与blob存储并行。

如果您用Azure函数代码手动编写逻辑以覆盖现有文件,则BlobStorage触发器函数将在所有文件上运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71574763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档