【问题标题】:Mule 4 : Batch Processing : Error in Accept Expression in Batch stepMule 4:批处理:批处理步骤中的接受表达式错误
【发布时间】:2021-05-13 00:45:11
【问题描述】:

我正在使用具有多个批处理步骤的批处理。

一个批处理步骤的输出是:

[
  {
    "CustomerId": "00",
    "TotalPurchase": 0
  },
  {
    "CustomerId": "11",
    "TotalPurchase": 1
  },
  {
    "CustomerId": "22",
    "TotalPurchase": 8
  },
  {
    "CustomerId": "33",
    "TotalPurchase": 27
  },
  {
    "CustomerId": "44",
    "TotalPurchase": 64
  },
  {
    "CustomerId": "55",
    "TotalPurchase": 125
  },
  {
    "CustomerId": "66",
    "TotalPurchase": 216
  },
  {
    "CustomerId": "77",
    "TotalPurchase": 343
  },
  {
    "CustomerId": "88",
    "TotalPurchase": 512
  },
  {
    "CustomerId": "99",
    "TotalPurchase": 729
  },
  {
    "CustomerId": "1010",
    "TotalPurchase": 1000
  }
]

在下一个批处理步骤中,我使用 ACCEPT EXPRESSION 字段,其值为:

#[payload.TotalPurchase > 100]

但我得到了错误:

Types `Array` and `Number` can not be compared.
payload.TotalPurchase > 100
   ^^^^^^^^^^^^^^^^^^^^^

任何想法为什么会发生这种情况?

【问题讨论】:

    标签: mule mule4


    【解决方案1】:

    也许您想将数组的每个元素作为记录处理,但对于该输入负载,#[payload.TotalPurchase] 的值是:

    [
      0,
      1,
      8,
      27,
      64,
      125,
      216,
      343,
      512,
      729,
      1000
    ]
    

    这是因为 DataWeave 返回数组中所有 TotalPurchase 成员的数组。因此无法将该计算数组与数字进行比较。

    【讨论】:

      猜你喜欢
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      相关资源
      最近更新 更多