dataweave 相关问题

DataWeave语言是一个功能强大的模板引擎,允许您将数据转换为任何格式(XML,CSV,JSON,Pojos,地图等)。

Dataweave 过滤条件不适用于小于等于

我有这个有效负载和数据编织代码,但在下面的数据编织中小于正在工作但不等于?有人可以帮忙吗..如何处理平等? 有效负载: [{ “Id”:&qu...

回答 2 投票 0

使用 dataweave 2.0 将数组对象转换为字符串

我正在尝试使用具有以下输入和输出的 Dataweave-2.0 将数组对象转换为字符串。 输入 : [ {“名称”:“Sam”,“语言”:“Java”,“Id”:&...

回答 2 投票 0

将字符串转换为dataweave中的日期

我正在使用 Anypoint Studio 6.1 和 Mule 3.8.1,我希望在 Dataweave 中将以下日期 2017-03-02T17:30:31.377Z 转换为以下格式 Thurs, 1 Mar 2017 17:30:31 GMT 。 数据...

回答 1 投票 0

如何将dataweave代码从1.0转换为2.0

我无法将以下 dw 1.0 代码完全迁移到 2.0 版本。我在下面粘贴了部分 2.0 dw 转换的代码。我怎样才能转换其余的代码。另外请问有什么工具吗

回答 2 投票 0

需要帮助 dataweave 1.0 到 2.0

我无法将以下 dw 1.0 代码完全迁移到 2.0 版本。我在下面粘贴了部分 2.0 dw 转换的代码。请帮助转换其余代码。还请如果有...

回答 1 投票 0

在批处理作业中写入文件时如何避免重复标题?

我正在查询 salesforce 对象并创建一个平面文件。在批处理步骤中将标头写入文件时,标头会重复。 我正在查询 salesforce 对象并创建一个平面文件。在批处理步骤中将标头写入文件时,标头会重复。 <scheduler doc:name="Scheduler" doc:id="09f2a42a-9eea-4407-9667-8627e24015e3" disallowConcurrentExecution="true"> <scheduling-strategy > <fixed-frequency frequency="1" timeUnit="MINUTES"/> </scheduling-strategy> </scheduler> <set-variable value="#[now()]" doc:name="Set Variable" doc:id="ecdb6baa-36ed-4035-80a6-a08416c624f8" variableName="startTime"/> <set-variable value="#['C:\trjournal_'++ now() as DateTime as String {format: 'yyyyMMddHHmmss'} ++ '.txt']" doc:name="Set Variable" doc:id="91ffe280-3ade-4529-8e8d-47d52a455c9f" variableName="path" /> <set-variable value="#[1]" doc:name="Set Variable" doc:id="dcb2c09d-606c-410e-ad29-117587559ed4" variableName="counter" /> <logger level="INFO" doc:name="Logger" doc:id="722aef3c-156a-4772-bb54-44dc1e0cd9a8" message="Request Started: #[vars.startTime]" /> <salesforce:query-all doc:name="Fetch all the records from Transaction Journal" doc:id="03374e79-d036-45c6-a374-7fa32b335a90" config-ref="Salesforce_Config"> <salesforce:salesforce-query ><![CDATA[SELECT ASC__c,CDF23__c,Option_Set__c,Statement_Message_ID__c,TSYS_ID__c FROM TransactionJournal WHERE TSYS_ID__c != null LIMIT 10]]></salesforce:salesforce-query> </salesforce:query-all> <ee:transform doc:name="Transform Message" doc:id="eb1795f1-112e-4c6c-9ed0-736156d872f3"> <ee:message> <ee:set-payload><![CDATA[%dw 2.0 output application/java --- payload]]></ee:set-payload> </ee:message> </ee:transform> <batch:job jobName="td-crimp-papi-to-vpsBatch_Job" doc:id="e7207bbe-5e71-436c-9872-c38a781cfda0" > <batch:process-records > <batch:step name="Batch_Step" doc:id="93750fd8-bd02-48f8-9fbe-eeec899320ab" > <ee:transform doc:name="Transform Message" doc:id="5785121d-927c-463c-aa26-d4607b514fdc"> <ee:message> <ee:set-payload><![CDATA[%dw 2.0 output application/flatfile schemaPath = "schemas/VPS.ffd", structureIdent="MultiSegment", missingValues="spaces" var fieldsMapping = { "Statement_Message_ID__c": "014205", "Option_Set__c": "019303", "ASC__c": "011206", "CDF23__c": "008902" } --- { vps: { vps: [ { ":USRDSB:-SOURCE": { ":USRDSB:-SOURCE": "SOURCE", ":USRDSB:-SOURCE-ID ": "MULESOFT" }, ":USRDSB:-HEADER": { ":USRDSB:-HEADER": "HEADER", ":USRDSB:-TRANSMISSION-ID": "SPLNSCRB" }, ":USRDSB:-DETAIL-RECORD": entriesOf(fieldsMapping) map { ":USRDSB:-FIELD-IND": $.value, ":USRDSB:-CARD-NBR": payload.TSYS_ID__c as Number, ":USRDSB:-FIELD-DATA": if($.value ~="014205") payload.Statement_Message_ID__c else if($.value ~="019303") payload.Option_Set__c else if($.value ~="008902") payload.CDF23__c else payload.ASC__c } }, ] } }]]></ee:set-payload> </ee:message> </ee:transform> <logger level="INFO" doc:name="Logger" doc:id="41d1a93a-0217-49f7-8756-faf0a17fa576" message="Incrementing counter #[vars.counter]" /> <file:write doc:name="Write" doc:id="226a764b-6ac6-4b1b-8d5a-d2e585c551e8" config-ref="File_Config" path="#[vars.path]" mode="APPEND" /> </batch:step> </batch:process-records> </batch:job> </flow> ** 电流输出:** SOURCE MULESOFT HEADER SPLNSCRB 014205 00012392907 61734 019303 00012392907 802 011206 00012392907 V03 008902 00012392907 3 SOURCE MULESOFT HEADER SPLNSCRB 014205 00012392908 61735 019303 00012392908 802 011206 00012392908 008902 00012392908 预期输出: SOURCE MULESOFT HEADER SPLNSCRB 014205 00012392907 61734 019303 00012392907 802 011206 00012392907 V03 008902 00012392907 3 014205 00012392908 61735 019303 00012392908 802 011206 00012392908 008902 00012392908 如何避免标题重复?如果无法使用批处理。我如何以最佳方式处理来自 salesforce 的记录(预计给定时间内 25k)? 蒂亚! 无法以这种方式使用 Batch。每次生成批处理步骤时,输出都将是一个完整的架构平面文件,因此它将有一个标题。 此外,在批处理步骤中使用文件写入并不是一个好主意。除非将并发限制为 1,否则该步骤可以由不同的线程执行,并且文件写入可能会相互覆盖并损坏文件。 请注意,即使在 DataWeave 中不使用批处理平面文件,内存使用率也很高,如文档中所述: DataWeave 中的平面文件支持最大 15 MB 的文件,并且内存 要求大约为 40 比 1。例如,1 MB 文件需要 需要 40 MB 内存进行处理,因此考虑这一点很重要 大型公寓的内存要求与 TPS 需求相结合 文件。这不是一个确切的数字;该值可能会根据以下情况而变化 映射指令的复杂性。 确保有足够的内存来处理您正在使用的卷。

回答 1 投票 0

Dataweave 不只创建一条记录,而是创建 4 条记录

我想从如下所示的有效负载中为每个对象创建 4 条记录。 每个键都有自己的映射,它是一个整数(ASC__c,CDF23__c,Option_Set__c,Statement_Message_ID__c),这将是...

回答 1 投票 0

如何使用 Dataweave 将 JSON 转换为 BLOB?

我需要将传入的 JSON 对象转换为 BLOB 以将其插入到 oracle DB 中? 我怎样才能做到这一点?我已尝试使用以下代码,但它抛出无效的列类型 %dw 2.0 从 dw 导入 *...

回答 1 投票 0

在 DWL 2.0/Mule4 中将“2024-01-10T10:50:16.901-0500”时间戳转换为“2024-01-10T10:50:16.901Z”

我在Mule4中有一个变量定义为receiptDateTime,它具有以下值: 输出应用程序/json --- vars.receiptDateTime vars.receiptDateTime 当前的输出格式是“...

回答 2 投票 0

如何在 dataweave 中的多部分表单数据中创建管道分隔的 csv 文件

在 dataweave 中的多部分表单数据中创建管道分隔的 csv 文件面临困难 我正在尝试将带有管道(“|”)分隔值的 csv 文件作为多部分表单数据发送到 api。但是...

回答 1 投票 0

将哈希从 Mule 3 转换到 Mule 4 时遇到问题

有人知道 Mule 4 相当于下面的 Mule 3 代码吗? 有人知道 Mule 4 相当于下面的 Mule 3 代码吗? <expression-component doc:name="TECH_Heroku_PartKey"><![CDATA[ payload=com.google.common.hash.Hashing.sha1().hashBytes(payload.getBytes("UTF-8")); ]]></expression-component> hashWith()可以在DataWeave 2中使用不同算法生成哈希,包括SHA1。 您需要注意,结果可能会根据有效负载的不同而有所不同。我猜测在 Mule 3 中你正在将 Java 字符串转换为字节。在 Mule 4 中,hashWith() 函数需要一个二进制文件。你会测试一下。 或者,您可以将相同的代码放入 Java 方法中并使用 Java 模块调用它。

回答 1 投票 0

如何在 Mule 4.4.0 中将 XML 命名空间移动到 XML 输出中的特定父节点(不是根节点)

我正在尝试使用 dataweave 脚本在 mulesoft 4.4.0 中创建以下 XML。 我正在尝试使用 dataweave 脚本在 mulesoft 4.4.0 中创建以下 XML。 <?xml version='1.0' encoding='UTF-8'?> <batch> <nsA:parent xmlns:nsA="http://www.testA.com/core" xmlns:nsB="http://www.testB.com/core"> <nsB:child >ChildNodeValue</nsB:child> </nsA:parent> </batch> 我尝试过的Dataweave脚本是: 第一次尝试: %dw 2.0 output application/xml ns nsA http://www.testA.com/core ns nsB http://www.testB.com/core --- batch: { (payload map ((item, index) -> { nsA#parent:{ nsB#child:"ChildNodeValue" } }) )} ------------------------------------- Output: <?xml version='1.0' encoding='UTF-8'?> <batch> <nsA:parent xmlns:nsA="http://www.testA.com/core"> <nsB:child xmlns:nsB="http://www.testB.com/core">ChildNodeValue</nsB:child> </nsA:parent> </batch> 第二次尝试::使用 writeDeclaredNamespaces="All" %dw 2.0 output application/xml writeDeclaredNamespaces="All" ns nsA http://www.testA.com/core ns nsB http://www.testB.com/core --- batch: { (payload map ((item, index) -> { nsA#parent:{ nsB#child:"ChildNodeValue" } }) )} --------------------------- Output: <?xml version='1.0' encoding='UTF-8'?> <batch xmlns:nsA="http://www.testA.com/core" xmlns:nsB="http://www.testB.com/core"> <nsA:parent> <nsB:child>ChildNodeValue</nsB:child> </nsA:parent> </batch> 如何将命名空间移动到 XML 输出中的特定父节点(而不是根节点)? 谢谢你 一种方法是将命名空间定义为属性,如下所示。 %dw 2.0 output application/xml --- batch: { "nsA:parent" @( "xmlns:nsA": "http://www.testA.com/core", "xmlns:nsB": "http://www.testB.com/core" ):{ "nsB:child":"ChildNodeValue" } }

回答 1 投票 0

将蒸汽转化为骡子 4 中的物体

我正在使用 s3 连接器读取 tar 文件并将数据发送到 java 类以解压缩 tar 文件并将提取的文件放入目标文件夹。这个过程在 mule3 中运行良好,但现在我们

回答 1 投票 0

如何在 mulesoft dataweave 中创建增量计数器

我们有多级数组,因此我们正在使用多个映射函数的转换。在这种情况下如何为字段 ID 分配增量值。 输入: [ { “产品编号”:“0001111...

回答 1 投票 0

在 Mule 4 中创建多段 Cobol 字帖文件

我需要从传入的 JSON 创建一个 cobol copybook 文件。它是一个多段文件。我在 DW 中创建多个段时遇到问题。 为了这个目的,我只是硬...

回答 1 投票 0

Mulesoft Dataweave:展平 JSON 以创建数据库记录

我使用 Mulesoft 4、Dataweave 2.3。 我想展平 JSON 对象。 JSON 中的每个键都应该位于新记录对象的键中。当 JSON 具有嵌套对象/数组时,键为

回答 1 投票 0

从自定义 Dataweave 模块导入 xml 命名空间

我正在尝试创建一个自定义 Dataweave 模块来集中我的自定义 XML 命名空间。 我按照Mulesoft的官方文档:https://docs.mulesoft.com/mule-runtime/4.3/dataweave-create-mo...

回答 2 投票 0

有什么方法可以在 Mule 4 应用程序中集中自定义 XML 命名空间吗?

应用程序和运行时版本:Mule 4 应用程序,带有 XML 模块。 我正在尝试使用许多自定义 xml 命名空间创建 mule 应用程序。看来前缀应该被声明为本地的...

回答 1 投票 0

now() - 部署在任何点平台上的 mule 应用程序的当前时间问题

我对我们的 Mule 应用程序中的当前时间问题有疑问,该应用程序部署在任何点平台上。 当在 mule 应用程序中使用“now()”时,它始终返回一个与

回答 1 投票 0

忽略 dwl 1.0 mule 3 中无效或空的日期字段

我正在尝试验证输入负载中的日期和日期时间。如果日期或日期时间格式不正确或为空,我必须验证请求并删除该字段。如果格式正确或...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.