ftp到azure存储blob(已触发处理)
我想将加密文件从ftp到azure存储blob(已触发处理),azure,ftp,azure-storage,azure-functions,azure-logic-apps,Azure,Ftp,Azure Storage,Azure Functions,Azure Logic Apps,我想将加密文件从ftp服务器传输到`azure blob存储容器 以下是有问题的工作: CSVFtp服务器上的加密文件----------------->触发器(示例:关于添加文件)---------------->调用 一些处理解密的本地程序或api 然后在blob容器中创建输出csv文件 这些文件的结构如下所示: Input CSV file: column1;column2;column3; encryptedvalue1;encryptedvalue
ftp服务器
传输到`azure blob存储容器
以下是有问题的工作:
CSV
Ftp服务器上的加密文件----------------->触发器
(示例:关于添加文件)---------------->调用
一些处理解密的本地程序或api
然后在blob容器中创建输出csv
文件
这些文件的结构如下所示:
Input CSV file:
column1;column2;column3;
encryptedvalue1;encryptedvalue2;encryptedvalue3;
及
这里没有文件内容转换,但还有一件事我不知道它是否可行:
例如,我想根据column1的值将新blob添加到特定文件夹下。(例如,从代码管理blob容器的层次结构)
我试图创建一个Logic应用程序
,并创建了ftp触发器
,作为第一步,但我无法找到最适合我的第二步
我看到很多建议,比如使用web作业,其他的用于azure功能和azure应用程序服务
因为我对azure的这些结构有点陌生,所以我来这里是想问一下这样做的最佳方式,以及为什么
使用Web作业
是否更好?或者azure函数
?或者只是做一个HttpRequest
?为什么会这样
我是否已经走上了正确的道路?logic应用程序
是允许我这样做的最佳方式吗
注意:编辑
文件大小约为Mb(不是很大)CSV
文件以“;”作为分隔符
输入是ftp服务器上的csv
文件,输出是azure blob存储上特定“文件夹”下的解密csv文件
任何帮助都将不胜感激在选择Azure Webjobs和Azure功能时,您应该考虑以下几个关键因素 Azure功能有两种类型的计费方案: 消费计划和应用服务计划 在消费模式下,您只需在函数运行时支付一段时间,但在消费计划下,您的函数不能运行超过10分钟。这意味着,如果你的工作运行超过10分钟,那么你的消费计划就不适合你了 应用程序服务计划与Azure Web作业使用的计划相同,此处没有时间限制(根据文档)
一般来说,当您需要具有不同触发器等的灵活逻辑时,Azure函数是很好的。您可以通过逻辑应用程序和函数应用程序实现这一点,如下所示:
可选在生成的blob和电子邮件/文本通知上有第二个逻辑应用程序触发器。我建议使用(Azure功能)或(Web作业) 以下是两种模式: -使用Docker容器执行转换(在本例中为复制): -在blob创建事件后使用函数执行操作:
如果您有任何其他问题,请告诉我。经过一些研究,并根据
evilSnobu
的答案和Johns-305
的评论,我发现最好的方法是如下所示
注意:我开发了一个Azure Api应用程序
来进行内容解密
基于此网格,这里的最佳选择显然是设计我的工作流的逻辑应用程序:
在我的逻辑应用程序中
文件时->在Azure存储上创建blob
从ftp中删除文件
Azure函数
(Azure功能与下面网格中的web作业)
基于blob创建触发器
,创建blob时调用解密api应用程序版本字段创建版本文件夹
文件内容
最后,总结一下,我可以说,在我的例子中,我需要有一个开发人员对我的解决方案的看法,这就是为什么我主要需要logic应用程序,然后我必须做两个基本任务,基于触发器的不连续的,这样更适合
Azure函数
和更便宜的(因为文件不大,处理速度会很快)文件是什么格式,有多大?我忘了提一下,小文件(有些)
Output csv file:
column1;column2;column3;
value1;value2;value3;