首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sftp:content从内存中写入sftp消息

如何使用sftp:content从内存中写入sftp消息
EN

Stack Overflow用户
提问于 2021-01-14 21:14:21
回答 1查看 49关注 0票数 0

我正在尝试使用sftp:write和sftp:content从内存创建一个sftp文件。我的数据编织代码是:

代码语言:javascript
复制
<sftp:write doc:name="sftp from memory" doc:id="01bee2a1-69ad-4194-8ec8-c12852521e87" config-ref="SFTP_Config" path="#[vars.sftpFileName]" createParentDirectories="false">
    <sftp:content><![CDATA[%dw 2.0
        output application/csv
        ---
        payload.toplevel.secondlevel.bottomlevel[0],
        payload.more.andmore.andstillmore[0]
        ]]>
    </sftp:content>
</sftp:write>

它确实在正确的目录中创建了一个文件,但其内容不是有效负载值。相反,它是实际的数据编织代码。文件内容为:

代码语言:javascript
复制
%dw 2.0
output application/csv
---
payload.toplevel.secondlevel.bottomlevel[0]
payload.more.andmore.andstillmore[0]

我使用的是4.2.2版本的Mule Server和1.3.2版本的SFTP组件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-14 22:49:42

实际上,您传递的不是dataweave,而是一个字符串。当您要使用dataweave时,请在字段上按fx按钮。XML将如下所示。注意到额外的#[了吗?这表明这是数据编织。您的数据编织也是无效的;您必须输出一个对象或对象数组;要使您的输出成为对象,您需要将其包装在{中。}就像JSON一样,使用键-值对。将其输出到CSV时,这些键将用作标题行,除非在输出行中包含header=falsehttps://docs.mulesoft.com/mule-runtime/4.3/dataweave-formats-csv#writer_properties

代码语言:javascript
复制
<sftp:write doc:name="sftp from memory" doc:id="01bee2a1-69ad-4194-8ec8-c12852521e87" config-ref="SFTP_Config" path="#[vars.sftpFileName]" createParentDirectories="false">
    <sftp:content><![CDATA[#[%dw 2.0
        output application/csv
        ---
        {
            someKeyName: payload.toplevel.secondlevel.bottomlevel[0],
            someOtherKeyName: payload.more.andmore.andstillmore[0]
        }]]]>
    </sftp:content>
</sftp:write>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65719681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档