我创建了一个流,它通过表单数据API POST接受CSV,然后处理批处理作业中的每一行。理想情况下,我不希望在将每个列传递给批处理执行程序之前对其进行手工映射,但我无法弄清楚如何动态地“遍历”键/值对。我想确保CSV可以有新列,我们会事先通过它们而不事先了解它们......这就是我所拥有的:
%dw 1.0
%output application/java
---
payload map {
title: $.title,
description: $.description,
template_id: $.template_id,
pricing_flat_price: $.pricing_flat_price,
scheduled_start_date: $.scheduled_start_date,
resource_id: $.resource_id,
industry_id: $.industry_id,
owner_email: $.owner_email,
location_offsite: $.location_offsite
}
这就是我想要的(在非感性的伪代码中):
%dw 1.0
%output application/java
---
payload map {
*:*
}
我必须想象这很容易做到,但我无法理解。
谢谢你, 史蒂夫
答案 0 :(得分:0)
在将每个列传递给批处理执行器之前手动映射
你不应该这样做。将整个csv传递给批处理输入阶段,并允许它将每一行拆分为Linked Hashmap。
答案 1 :(得分:0)
您可以简单地使用如下所示的转换 -
%dw 1.0
%output application/java
---
(payload)