【问题标题】:Advice of how to feed a Azure function with data关于如何为 Azure 函数提供数据的建议
【发布时间】:2019-02-21 00:59:00
【问题描述】:

我目前正在开展一个项目,我们将用一些新的花哨的 Azure 东西替换旧的遗留软件 :-) 简而言之:

  • 我们将读取一个包含多批事务的本地文件 数据

  • 我的 LogicApp 将被文件创建触发并发送数据 到我的 Azure Function 进行处理。

  • 将文件拆分为我们将存储在其中的单独事务
    Dynamics365。

我已经设法在本地创建新文件时触发,但由于每批事务数据都非常大,我很难通过使用 Postman(POST 命令)将其发送到我的 Azure 函数来测试它。邮递员抱怨缓冲区太大而无法发送:-(

我用较小的批次对其进行了测试,我可以看到 Azure 函数完成了它应该做的事情。

我的下一个想法是,与其将批处理发送到我的函数,我可以发送文件名并让我的函数从文件中读取批处理。 但是:如何通过本地数据网关从 Azure 上的 Function 访问本地创建的文件?

在我的逻辑应用程序中,我得到文件名,本地文件的文件名...... 如何从我的 Azure Function 访问该本地文件?

我考虑的另一个解决方案是使用逻辑应用程序将本地文件复制到 Azure 文件存储区域上的临时文件,然后从那里继续处理,但感觉就像“一步一步”很多”。

还有其他更好的解决方案吗?

【问题讨论】:

    标签: azure azure-functions


    【解决方案1】:

    我会把你的问题分成两部分。第一个是将您的文件/s 发送到 Azure,第二个是执行您需要的处理。

    对于 (1),考虑使用 Azure 数据工厂 (v2) 和 Integration Runtime (IR)。 IR 将允许您安全地访问您的本地数据(包括文件)。如果集成运行时对于您的用例来说似乎是多余的,那么请考虑使用命令行工具AzCopy。目标是将在本地创建的文件移动到 Azure 存储帐户。然后,当在 Azure 存储中创建文件时,你的逻辑应用可以对 trigger 执行操作。

    对于 (2),您的 Azure 函数可以执行您需要的相关处理。请记住,消耗计划中的 Azure 函数的运行时间最长不得超过 10 分钟(默认配置为 5 分钟)。

    【讨论】:

    • “当在 Azure 存储中创建文件时,您的逻辑应用可以对触发器执行操作。”我上次查看时,没有触发在 Azure 文件存储上创建的文件 :-( 你对 Azure 函数的建议是一个非常好的评论。谢谢!
    • 感谢您的帮助!
    • 没问题,请随意投票或将其标记为答案。
    • 解决方案是让一个逻辑应用程序在创建文件时由本地数据网关触发,并将磁贴内容放入存储 Blob。我还做了一个快速测试,看看处理带有两张发票(10 秒)的文件需要多少日志。我意识到必须将 Azure 函数拆分为两个单独的函数。一个函数将所有发票从一个大文件拆分为单独的发票,发送到 ServiceBus 以供第二个 Azure 函数进一步处理。再次感谢您的意见!
    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 2012-01-13
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多