Есть много похожих вопросов / ответов, но они не включают пример полезной нагрузки или не предназначены для dataweave 2.0.
Пример полезной нагрузки
{
"updateCaseOutput": [
{
"HENRY_RESPONSE": "error",
"AUTO_INDEX": 472
},
{
"HENRY_RESPONSE": null,
"AUTO_INDEX": 473
},
{
"AUTO_INDEX": 474
}
]
}
У меня естьследующее преобразование просто включает массив.
%dw 2.0
output application/json
---
payload.updateCaseOutput map ( updateCaseOutput , indexOfUpdateCaseOutput ) -> {
HENRY_RESPONSE: updateCaseOutput.HENRY_RESPONSE default 'updated',
AUTO_INDEX: updateCaseOutput.AUTO_INDEX
}
Что показывает это в предварительном просмотре преобразования:
[
{
"HENRY_RESPONSE": "error",
"AUTO_INDEX": 472
},
{
"HENRY_RESPONSE": "updated",
"AUTO_INDEX": 473
},
{
"HENRY_RESPONSE": "updated",
"AUTO_INDEX": 474
}
]
Пока все хорошо.Следующий инструмент - это средство ведения журнала, и он во время выполнения вместо значения по умолчанию для пустых значений отображается как
"HENRY_RESPONSE": {}
, что приводит к сбою массового обновления для типа столбца:
********************************************************************************
Message : Invalid column type.
Error type : DB:QUERY_EXECUTION
Element : UpdateHenry/processors/4 @ retro:retro.xml:79 (Bulk update)
Element XML : <db:bulk-update doc:name="Bulk update" doc:id="e282a24a-d585-4a53-8f0f-eff2f99e5e32" config-ref="ClarifyDev">
<db:sql>UPDATE SA.RETRO_EMAILCLERK_STAGING_UPD
SET HENRY_RESPONSE=:HENRY_RESPONSE,DATE_TIME_PROCESSED=SYSDATE
WHERE AUTO_INDEX=:AUTO_INDEX</db:sql>
</db:bulk-update>
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
Кто-нибудь может показать мне, что мне здесь не хватает?Вот массовое обновление:
<db:bulk-update doc:name="Bulk update" doc:id="e282a24a-d585-4a53-8f0f-eff2f99e5e32" config-ref="ClarifyDev">
<db:sql >UPDATE MyTableName
SET HENRY_RESPONSE=:HENRY_RESPONSE,
DATE_TIME_PROCESSED=SYSDATE
WHERE AUTO_INDEX=:AUTO_INDEX</db:sql>
</db:bulk-update>
Очень ценится