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

Azure函数不是由blob事件触发的

史烨
2023-03-14

我有一个通过使用powershell用ARM模板创建的azure函数。

函数是在消耗计划上运行的blob触发器类型函数,用于将blob从源存储复制到目标存储。

当我将blob上传到源存储时,它不会被复制。这意味着功能没有被执行。

当我通过门户浏览函数应用时,将调用函数并按预期执行所需的操作。此后,它工作正常。仅当函数应用最初由 Powershell 脚本使用 ARM 模板部署时,才会发生这种情况。

所以,我想问题是,当我使用ARM模板创建函数应用程序并使用powershell部署时,它处于空闲模式,从未被blob事件触发。我的假设正确吗?或者你能帮我找到问题所在吗。谢谢

共有1个答案

段干玺
2023-03-14

在这里要小心。根据 Blob 存储文档,它提到如果在消耗计划中,此触发器可能会有延迟:(强调我的)

当您的功能应用程序在默认消费计划中运行时,添加或更新blob与触发功能之间可能会有长达几分钟的延迟。如果您需要blob触发函数的低延迟,请考虑在应用程序服务计划中运行函数应用程序。

也许你所看到的行为就是上述情况的一种表现。尝试转换为应用程序服务计划,看看是否仍能看到触发延迟。

我怀疑这与你的部署方法无关。

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

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

  • 我在 Azure 数据工厂中具有事件触发器,它在 Azure Blob 存储中创建新 Blob 时触发。但我的触发器在创建 Blob 时没有触发。 已按照以下链接进行操作,但卡在下面提到的点:Azure 数据工厂:事件未启动管道。 环境详情: 事件网格已注册,ADF为v2并将参数传递给管道。我的问题是我是否需要激活Azure存储事件订阅?如果是这样,我的事件处理程序应该是什么(在我的情况下是ADF

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

  • 我的Python Azure函数配置文件()定义了一个Blob存储触发器。 当Azure功能唤醒时(即,Live Metrics中显示的服务器在一段睡眠时间后变为在线),它将处理所有现有Blob,而不管哪些Blob已经生成触发事件。 我注意到< code > azure-web jobs-hosts/blob receipts 文件夹中填充了< code>sandboxhost637nnn文件夹。

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