【问题标题】:how can I upload a file from blob storage using logic apps vs azure functions for large files如何使用逻辑应用与大文件的 azure 函数从 blob 存储上传文件
【发布时间】:2019-12-27 17:40:29
【问题描述】:
我需要使用逻辑应用将 Azure 文件存储中的一些 csv 文件加载到 blob 存储。在逻辑应用程序中使用什么触发器来访问 Azure 中的文件存储?
这些文件非常大,高达 1 GB,我希望能够将它们发送到 ftp 服务器或用于上传的 restful 端点(使用示例 PUT 动词)。
逻辑应用能够做到这一点还是使用 Azure 函数会更好?任何指向我正确方向的资源或帮助都会很有用。
【问题讨论】:
标签:
azure
azure-functions
azure-logic-apps
【解决方案1】:
对于您可以在逻辑应用中使用哪个触发器的问题,这取决于您的要求。如果要定期触发逻辑应用,可以添加“Recurrence”计划。如果要手动触发,可以add a request trigger,然后调用请求url触发逻辑应用。
对于您对逻辑应用是否可以执行此操作的担忧,我对您想要通过逻辑应用执行什么操作感到有些困惑,您想将 csv 文件从 azure 文件存储加载到逻辑应用中的 blob 存储吗?或者将 csv 文件从 blob 存储加载到 ftp?如果您的文件不超过其限制,它们都可以由逻辑应用实现。
“Azure 文件存储”连接器具有以下一般限制:
“Azure Blob 存储”连接器也有一些一般限制,如下所示:
FTP 连接器的限制如下所示:
根据上面的两个截图,如果你的 1 GB 文件是很多小文件(列表 blob 的数量不能超过 5000),你的要求可以在逻辑应用中实现。
如果你想将文件从azure文件存储加载到blob存储(你的文件不超过上面的限制),你可以参考下面的逻辑应用:
如果你想将文件从azure blob存储加载到ftp(你的文件不超过上面的限制),你可以参考下面的逻辑应用:
对了,我觉得有必要提一下逻辑app的价格。它是按动作执行次数计费的,我们可以通过link了解更多关于逻辑应用价格的信息。所以如果你有太多的文件,会导致你的逻辑应用执行太多的动作,你需要注意逻辑应用和天蓝色函数之间的成本。也许函数会比逻辑应用便宜。