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

Azure Functions Blob触发器不会触发,除非我打开函数应用程序

黄和怡
2023-03-14

我已将 Azure 函数设置为运行 Blob 触发器,(因此,当将 Blob 添加到容器时,它应该触发)。在门户中打开函数应用之前,函数不会运行。然后,它将拾取已添加的任何 blob 并像往常一样处理它们。为什么需要在门户中打开函数应用才能启动我的作业?这几乎就像函数应用程序进入睡眠状态,然后在我浏览到它时唤醒。我该如何防止这种情况发生?

这是我的克朗

{
  "bindings": [
 {
  "name": "myBlob",
  "type": "blobTrigger",
  "direction": "in",
  "path": "automated-sql-export",
  "connection": "Conn"
 }
],
 "disabled": false
}

共有1个答案

米飞龙
2023-03-14

当函数应用运行时,主机负责自动接收/轮询所有各种触发器类型(队列、事件中心、Blob 等)中的新事件。但是,根据您运行的层,会出现一些差异。

在我们的动态SKU中,我们有一个功能应用程序外部的服务,负责监控工作并确保功能应用程序在需要时运行。当没有工作要执行时(例如,没有队列消息、没有新blob等),功能应用程序将进入睡眠状态。外部服务部门有责任确保在工作到达时将其唤醒。

我的经典SKU(基本/标准)此外接显示器不在图片中。函数应用必须在“始终打开”模式下运行,才能使其保持活动状态。在经典层中创建函数应用时,此设置应自动配置为“开”。

在解释了所有这些背景之后,如果你在动态SKU中运行,事情应该“正常工作”。如果不是,请在此处记录错误。如果你在经典 SKU 中运行,请确保已启用“始终打开”。这是人们遇到的常见问题。

 类似资料:
  • 在Azure中,我开发了一个函数(应用服务),当新的csv文件放入特定存储帐户时会触发该函数。该函数是在Azure中开发的,每次上传新的csv文件时都不会出现问题。但是考虑到CI/CD,我决定将我的开发过程从Azure迁移到Visual Studio(2017)。 代码在本地运行没有任何问题,但一旦我将代码发布到Azure(通过VSTS),挑战就开始了。当新的csv文件上传到存储帐户时,触发器似乎

  • 正如标题所说,我根本无法让Quartz.net工作。我从NuGet获得了最新版本的Quartz.net(2.2.1)、Common.Logging(2.1.2)、Common.Logging.NLog(2.0.0)和NLog(2.1.0)。触发器没有被触发,而且石英绝对没有记录任何东西。我猜我搞砸了配置。 我的应用程序配置: 有一个作业和一个触发器与之相关: 调度程序将启动,作业和触发器将正确添加

  • 我们正在运行java应用程序,该应用程序用作24/7运行的监控系统。我们有一些内存问题,所以我做了一个jmap转储,我可以分析它。在我使用live flag进行第二次转储之后,GC也在应用程序中运行,它的内存使用率再次降低(该进程现在运行了6个月)。所以我的问题是,如果在jmap转储之后,它可以执行GC,那么在此期间GC为什么不由进程本身运行,进程在此之后正常运行,并且它的内存使用情况正常? Op

  • 我的Azure Functions事件网格触发器没有触发。我是这么做的。 Key Vault设置为将事件报告给EventGrid系统主题 此主题由将事件传递到Azure Function的订阅订阅 函数有一个事件网格触发器(见下文,默认由门户创建): 我用谷歌搜索了一下,对于这样的入门级方案,没有更多的指导。我想的也许是授权...订阅如何触发该函数?在此过程中(通过GUI /门户配置),没有任何关

  • 触发AWS Lambda函数时遇到问题。 当我单击Test时,该函数工作得非常好,但我创建了一个新的计划规则,该规则每分钟触发Lambda函数。它工作一次,然后再也不会工作了。我还尝试使用Cron,结果相同。 日志应输出打印功能,但它们会读取以下内容: 我单击了“CloudWatch Events将为目标添加必要的权限,以便在触发此规则时调用它们”,所以我怀疑我的权限不是问题。 顺便说一句,我已经

  • 我有这个脚本: HTML中的用法: 由于某些原因,它的工作,如果页面重新加载一半,但不,它没有开火,在它工作之前,所以我不知道发生了什么。我在wordpress网站上使用这个。