使用BlobTrigger的Python函数V2 - 部署导致重新触发所有blob [英] Python Function V2 using BlobTrigger - Deploy cause retriggering all blobs
问题描述
亲爱的所有人,
在Linux消费计划上运行Python Functions V2时,我会指出一个非常糟糕的行为。
I would point out a very bad behavior when running Python Functions V2 on a Linux Consumption Plan.
我在容器XXX上有一个简单的blob触发器,当我重新部署(使用VSCode包部署)我从AppInsight指标看到的功能时,容器XXX中已经存在的所有blob都被重新处理。
I have a simple blob trigger on the container XXX, when I re deploy (using VSCode package deploy) the function I see from AppInsight metrics that all the blob already present in the container XXX are re-processed.
你能帮我弄清楚为什么会这样吗?
Can you help me to figure out why this happens?
谢谢
Roberto
推荐答案
您好Roberto
Hi Roberto
感谢您提供此反馈!我想重现这个问题,并在必要时在内部与产品团队联系。如果这是您的环境特有的问题,您的Azure订阅是否包含支持计划?最后,你可以
分享你的功能应用名称
间接按照此处给出的指导?b
更新:
这可能是对
此方案中的已知行为。解释为什么会发生这种情况:无论你的环境如何使用Python& Linux,blob触发器,按设计,跟踪新的&通过维护
更新blob blob收据 。这些收据通过
他们的eTags 与
函数运行时的主机ID 。当您重新发布您的功能应用时,它将导致更改您的主机ID,并且您之前不再应用的eTag->主机ID相关性会导致新主机重新处理您现有的所有
blobs - 你观察到的行为。建议使用 事件网格 触发;你有没有探索过这个替代方案?
Thank you for providing this feedback! I would like to reproduce this issue and reach out, internally, to product team if need be. In case this is an issue specific to your environment, does your Azure subscription carry a support plan? Lastly, could you
share your function app name
indirectly as per guidance given here?
UPDATE:
This is likely an observation of a
known behavior in this scenario. To explain why this happens: Irrespective of your environment with Python & Linux, the blob trigger, by design, keeps track of new & updated blobs by maintaining
blob receipts in
azure-webjobs-hosts container. These receipts are correlated by
their eTags to
host ID of your Functions runtime. When you re-publish your function app, it'll result in change of your host ID and the eTag->host ID correlations you previously had will no longer apply which then results in the new host re-processing all of your existing
blobs -- the behavior you've observed. The recommendation is to use Event Grid trigger instead; have you explored that alternative yet?
这篇关于使用BlobTrigger的Python函数V2 - 部署导致重新触发所有blob的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!