【问题标题】:Azure Blob Storage trigger Function not firingAzure Blob 存储触发器功能未触发
【发布时间】:2020-04-21 13:22:25
【问题描述】:

创建使用应用服务计划进行托管的 Azure 函数 blob 触发器模板时,该函数会在配置为“始终开启”时正确触发。我通过在 Azure 控制台中运行应用程序并通过 Microsoft Azure 存储资源管理器添加文件进行了测试。在查看函数的Monitor 屏幕时可以找到这些触发器的日志。

使用 Blob 存储模板创建相同的函数但这次选择“消耗”而不是应用服务计划时,监视器下没有显示任何内容。当我在 Azure 控制台中运行测试或将文件添加到目标 Blob 容器时,这些触发器日志不会显示在 monitor 屏幕上。

如何确保在将新文件添加到 Blob 容器时触发此触发器模板?

【问题讨论】:

  • 你能添加你的模板吗?因为它在消费计划上都按预期工作
  • 您好,crayden,监控结果可能会延迟最多5分钟,您可以稍等片刻再刷新。如果仍然不显示日志,请您分享更多功能的详细信息(我在我这边测试没问题),我会帮助您修复它。
  • 您好,crayden,请问您的问题是否已解决?如果 Mohit 和我提供的答案对您的问题有所帮助,您能否将其中一个答案标记为“已接受”。如果您的问题还没有解决,请分享更多细节,我会尽力帮助您。

标签: azure azure-functions azure-blob-storage


【解决方案1】:

您可以在两种不同的模式下运行 Azure Functions:消费计划和应用服务计划。您必须在创建函数应用期间选择托管计划的类型。之后就无法更改了。

消费计划

消耗计划会在您的代码运行时自动分配计算能力,根据需要横向扩展以处理负载,然后在代码不运行时缩减。您不必为空闲的虚拟机付费,也不必提前预留容量。这是无服务器应用程序模型。消费计划背后的魔力都是通过秤控制器完成的。缩放控制器通过添加额外的函数应用实例来自动缩放 CPU 和内存资源。缩放基于触发其功能的事件数量。

应用服务计划

在应用服务计划中,您的函数应用在基本、标准、高级和独立 SKU 上的专用 VM 上运行。你可以通过选择不同的应用服务计划进行扩展,但函数应用始终在运行。缩放是手动完成的,或者您可以启用自动缩放。

由于性质不同,应用服务计划在启用后始终可用,因此几乎立即触发。而在基于消费的计划中,如果它没有被使用,它就会进入空闲模式。

补充参考:

https://stackoverflow.com/a/54094025/6049604

希望对你有帮助。

【讨论】:

【解决方案2】:

Mohit 提供的解释是对的,但是我想在我的测试之后补充一些关于它的信息。

我又在我这边测试了一下,第一次测试的时候,功能是被blob存储成功触发的。第二次,我将函数留在那里一会儿,然后将文件上传到 blob 存储。差不多过了 13 分钟,我才看到“监视器”屏幕的登录。

我认为造成它的原因有两个,一个是Mohit提到的,消费计划会导致功能空闲一会儿。据我所知,如果我们将函数留在那里大约 20 分钟,它就会进入休眠状态(不是热启动)。 因此,当文件上传到 blob 存储时,需要几分钟才能启动。然后“监视器”也需要大约 5 分钟才能显示登录屏幕。

由于以上两个原因,我等了大约 13 分钟才看到“监视器”中的日志。所以也许你没有看到日志,因为它出现得太晚了。对于这个问题,我认为如果你不关心成本,你可以选择一个应用服务计划,或者选择一个你不关心等待时间的消费计划。(或选择一个应用服务计划,F1:免费) .

希望对你的问题有所帮助~

【讨论】:

  • 我的已经坐了 9 个小时了 :(
猜你喜欢
  • 1970-01-01
  • 2020-08-17
  • 2021-02-26
  • 2020-11-26
  • 1970-01-01
  • 2021-10-08
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多