要检查的 Azure 事件网格

Azure event grid to check

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

我打算使用事件网格(一旦文件到达位置 'A')+ Azure 函数(用于检查并移动到位置 'B' 或 'C')。

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

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

感谢您的宝贵时间。

can this smarts be built using just one service

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

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

If there are 100 files landing per day, this approach will trigger azure function 100 times.

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

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

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

如果您想要轻松一点,请尝试逻辑应用程序。

你想要的是创建一个 Logic App with Blob Trigger,它会在有新的 blob 时被触发。这会处理触发器。

For action, you can use the "copy blob" if you like. Not sure if there is a "move blob" action supported, but if it's not and "copy blob" action isn't good enough for you then you can provide a custom JS snippet action as inline code.

一些注意事项:

  • 如果您的 Azure Functions 每天只被调用 100 次,并且他们只是做一些小检查然后移动 blob,那么根据消费计划,您每月支付的费用可能不到 1 美元。
  • 使用 Azure Functions,你将拥有更多的控制权,并且花费更长的时间(与逻辑应用程序相比)develop/operate。