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

需要Blob触发器Azure Function仅响应BLOB UPLOAD

茅和玉
2023-03-14

我开发了一个Blob Trigger Azure函数。这将在文件上传到 Blob 文件夹时触发。此函数将获取此上传的文件,对其进行加密,然后将加密的文件复制到另一个 blob 文件夹中。

当新文件添加到blob时,我可以看到我的函数被触发。但我也可以看到,当我从blob中删除文件时,我的函数被触发。

我如何限制这一点。我的Azure函数必须仅在上传新BLOB时运行。当我从blob中删除任何文件时,它不应该运行。

请给我建议一个方法。谢谢你。

共有2个答案

秦毅
2023-03-14

我使用了EventGrid Azure函数,而不是Blob触发器Azure函数。事件网格Azure函数的调用速度快于blob触发器。同样在事件网格触发器中,我们有一个选项来设置blob事件和重试计数。

谭凯
2023-03-14

我看到你添加了事件网格标签,所以我假设你在这里使用事件网格,如果没有,那么你可以考虑它作为一个选项,因为它允许你根据事件类型或有效负载过滤输入/输出事件。

当您创建事件网格主题订阅时,有一个名为“事件类型”的过滤器部分,您可以选择要从事件网格中过滤掉的事件,并且可以在此处找到可用的事件类型。在您的情况下,请确保仅选择blob创建的事件,以便只有这些事件会发送到目标功能应用程序。

 类似资料:
  • 我有两个blob触发器,我想触发。一个有效,一个无效! 我使用Azure Storage Explorer来确保blob被上传到每个blob,< code>scanFiles永远不会触发,而< code>scanExports似乎总是会触发。 问题:什么会导致某些blob无法触发Azure函数?

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

  • 我有一个Azure Web作业,其中包含一些blob触发的函数。我通过门户上的添加作业对话框将其上传到Azure,并将其设置为“连续运行”预期的行为是,任何时候将blob添加 /modifiedblob中指定的容器都会触发调用相应的函数。但是这不会发生。 触发这些功能的唯一方法(在上传blobs之后)是停止web作业并再次重启它。 每次我重启作业时,这些功能似乎都被触发了,而且只触发了一次。任何后

  • 我使用blob触发器读取blob内容,作为pandas DF进行处理,并将blob附加到我使用的Azure SQL server。 blob触发器没有按预期工作,因此我将main函数中的所有代码都定义为: 但是,我得到了以下错误: 有人可以帮助我找到此问题的原因吗? function.json的配置如下:

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

  • 我是Azure Function应用程序中blob触发器的新手,需要一些帮助。我正在努力寻找有关如何重命名触发该函数的blob的资源。 我有一个函数应用程序,当一个新的blob被上传到容器时触发,文件被处理,我需要一种方法来将其“标记”为已处理,因此我想重命名blob。 这是我的职责: 我该如何重命名该文件?在这种情况下有可能吗?