如何使用 READ - Mule 中的 FTP

How to use READ - FTPs in Mule

我正在尝试传递通过 FTP 传给我的 .csv 文件,它采用二进制格式(我认为),我想将其传递为某种格式,以便我可以编辑列和行。

我使用 Anypoint Studio 版本:7.12.1,FTPS 连接器 1.7.1,运行时版本 4.4.0 EE

阅读XML:

<ftps:read doc:name="Read" doc:id="34e4139b-606e-4cd0-8650-4e3b2bab01d7" config-ref="FTPS_Config_OneHub" path="test_Dec.csv"/>

我正在用转换消息来做:

        <ee:transform doc:name="Transform Message" doc:id="165835a6-da27-442a-82bd-a3a28552611f" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output application/csv
---
read(payload, "application/string")]]></ee:set-payload>
            </ee:message>
        </ee:transform>

但是我得到以下错误:

""You called the function 'AnonymousFunction' with these arguments: 
  1: Array ([{"PK\u0003\u0004\u0014\u0000\b\b\b\u0000": "q",column_1: "^",column_2: ""}, ...)
  2: String ("application/string")

But it expects arguments of these types:
  1: String | Binary
  2: String
  3: Object


4| read(payload, "application/string")
   ^^^^
Trace:
  at anonymous::main (line: 4, column: 1)" evaluating expression: "%dw 2.0
output application/csv
---
read(payload, "application/string")"."

带有文件的负载如下所示:

PK  (\!T         [Content_Types].xmlµSËnÂ0ü•È×*6ôPUEƒMCÇ©ô\{“Xø%¯¡ð÷]8”R‰

ƒM†õ9Ç!PEƒMEƒMõà$òEƒMÁEƒEƒMMÒ†äd¦cêD”j);·£ÑPÁgð¹ÈEƒMEƒM'OÊ•ÍÕEƒMã¾H7LÈh'™R‰µ×G¢EƒMEƒ=Mõ1°E]

非常感谢!

输入文件不是 CSV。它是 zip 文件。你应该先解压它,然后看看它里面是否有一个 CSV 文件。可以使用Mule中的Compression Module解压