azure - 如何确保一次仅运行一个 Azure Function BlobTrigger?

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

我有一个在 Azure Functions 中实现多个 BlobTrigger 的用例(使用 Linux 消耗计划)。例如,在 Azure 存储中,我有 5 个不同的客户端,其目录结构如下:

client1/file.txt  
client2.file.txt  
client3/file.txt  
client4/file.txt  
client5/file.txt

client1/file.txtclient2/file.txt 可以同时放入 Azure 存储中。为了防止竞争条件和超过 1.5 GB 内存限制,我希望 client1/file.txt 的 BlobTrigger 等待 client2/file.txt 的 BlobTrigger 完成反之亦然(这里的顺序并不重要,只是它们最终都会执行)。

我需要单独设置一个队列进程吗?我可以使用预览设置WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT轻松实现此目的吗?

编辑:使用持久函数是更好的解决方案吗?

最佳答案

您应该能够通过确保 MAX SCALE OUT 值设置为 1 来做到这一点,这样它一次只会处理 1 个文件。您还可以将消费\定价模型从消费更改为应用服务计划一。这样您就可以使用您想要的层,然后您也可以获得更多可用内存(取决于您选择的层)。

关于azure - 如何确保一次仅运行一个 Azure Function BlobTrigger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64504125/

相关文章:

python - 在 golang 程序中运行的 Azure get-credentials 错误

azure - 错误 19 - 物理连接错误

c# - 如何为长时间运行的 Azure 函数创建启动代码?

azure - 使用 AAD 和 Azure Function 的 Easy Auth 隐式流程返回未经授权

performance - Azure 队列延迟消息

powershell - 使用 PowerShell 列出所需的 Azure 容器文件/文件类型

node.js - 如何在 Node js中将消息发送到azure服务总线队列时指定内容类型为application/json?

Spring Security Microsoft Oauth2 登录错误

azure - Azure Functions 的扩展算法是什么(从未能够运行超过 7 个并行实例)

azure - 刷新所有 Azure 实例上的数据