要检查的 Azure 事件网格

问题描述

我需要根据 2 个条件将文件从 ADLS Gen 2 从路径(目录)“A”移动到目录“B”或“C”:如果文件不是 csv 或文件大小,则移动到“C”是 0 否则移动到“B”。

我计划使用事件网格(只要文件位于位置“A”)+ Azure 函数(用于检查并移动到位置“B”或“C”)。

如果每天有 100 个文件登陆,这种方式会触发 100 次 azure 函数。

是否有更好的方法来做到这一点 - 是否可以仅使用一种服务(例如事件中心而不是事件网格 + 函数)来构建这种智能,从而减少维护开销。

感谢您的时间。

解决方法

是否可以仅使用一项服务来构建这种智能

当然可以直接使用azure函数的blob触发器。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=csharp

如果每天有100个文件登陆,这个方法会触发 azure 函数 100 次。

您可以使用 azure 函数进行日常检查,而不是使用事件网格来触发函数(Timertrigger)。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer?tabs=csharp

只需将逻辑放在函数体中即可。

,

如果您想要省力,请尝试逻辑应用。

您想要的是创建一个 Logic App with Blob Trigger,它会在有新 blob 时触发。这负责触发器。

For action,如果您愿意,可以使用“复制 blob”。不确定是否支持“移动 blob”操作,但如果不支持并且“复制 blob”操作对您来说不够好,那么您可以提供自定义 JS snippet action as inline code

几个注意事项:

  • 如果您的 Azure Functions 每天只调用 100 次,并且它们只是做一些小检查然后移动 blob,那么根据消费计划,您每月支付的费用可能不到 1 美元。
  • 借助 Azure Functions,您将拥有更多控制权,并且开发/运营需要更长的时间(与逻辑应用相比)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...