当前位置: 首页 > 知识库问答 >
问题:

Azure blob 触发器对现有 Blob 不起作用

谢哲瀚
2023-03-14

我创建了一个Azure blob触发器函数来压缩一个blob中的图像,并将压缩后的图像复制到另一个blob中。在第一次运行时,它为现有blob触发,但当我删除输出blob存储并重新创建它时,正常工作的应用程序不会为现有blob触发。

是否有任何方法可以为现有blob触发此函数?

共有1个答案

呼延烈
2023-03-14

是否有任何方法可以为现有blob触发此函数?

简而言之,不。正如你所说,它只会第一次触发所有现有的blobs。

在内部,我们通过将收据存储在控制容器azure-webghs-host中来跟踪我们处理了哪些blob。任何没有收据或旧收据(基于blobETag)的blob都将被处理(或重新处理)。这就是为什么您现有的blob第一次被处理,它们没有收据。

BbloTrigger目前旨在确保最终处理与路径模式匹配的容器中的所有blob,并在更新它们时重新处理它们。因此,在所有blob都有收据后,当您上传或更新blob时,该功能将被触发。

有关更多详细信息,您可以参考这篇文章。

 类似资料:
  • 我的存储容器中大约有35k blob文件。其中一些是在部署功能之前的旧版本,一些是在部署功能应用之后的旧版本。 这是我的函数签名 我的理解是,这个功能将不断处理所有新旧文件。但是当我在Azure portal上看到那个日志时,这就是发生的事情。 < Li > 2020-01-21t 09:02:56.103[信息]已执行' watch-portal-blob '(成功,Id = 37 CFAF 5

  • 问题内容: 当我尝试使用以下命令触发构建时,出现以下错误: 卷曲http:// jenkins_server:port / jenkins / job / job_name / build?token = token_name 输出: 需要验证 <-您的身份验证为:您所在的匿名 组: 权限,你需要有(但没有):hudson.model.Hudson.Read …这是暗示:hudson.securi

  • 未找到作业函数。试着公开你的作业类和方法。如果您使用的是绑定扩展(例如Azure存储、ServiceBus、定时器等),请确保在启动代码中调用了扩展的注册方法(例如builder.AddAzureStorage()、builder)。AddServiceBus(),生成器。AddTimers()等)。 当我们将.netframework从4.7升级到.netcore 3.0时,问题开始出现

  • 当我的函数方法签名如下时,我有一个成功触发的v3 WebJob: 然而,当我添加一个输出blob时,BlobTrigger永远不会触发。 下面的文档如下:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#output

  • 如果你使用blob存储触发器阅读Azure WebJobs上的留档,它们会提到这不是很可靠: WebJobs SDK扫描日志文件以查看新的或更改的blob。这个过程不是实时的;在创建blob后的几分钟或更长时间内,函数可能不会被触发。此外,存储日志是在“尽力而为”的基础上创建的;无法保证所有事件都将被捕获。在某些情况下,日志可能会丢失。如果您的应用程序无法接受blob触发器的速度和可靠性限制,建议

  • 有一个Azure函数,当HTML文件被放入Azure blob存储时会被触发。该函数打开HTML文件,并将其转换为JSON。有一小部分触发文件(不到1%)会导致以下异常: Microsoft.WindowsAzure.Storage.StorageException blob的放置触发了第二个函数,它改变了文件的内容类型,但是我不确定这是否会影响第一个函数打开文件的能力。 怎样做才能让Azure函