面临 Dataweave 转换问题

Facing issue with Dataweave transformation

背景:在我的一个应用程序中,我将日期时间戳存储在对象存储中。现在该应用程序已停用,业务团队需要对象存储中最后存储的日期时间戳。通过使用 cloudhub API 我从 objectstore api.

得到了以下响应

{ "binaryValue": "++Kn0AIB5+z4uQQBMjAyMi0wMS0zMVQxNToyODozMy4yN7b8rNmhAQHn7Pi5BGFwcGxpY2F0aW9uL2phdmE7IGNoYXJzZXQ9VVRGLbgAAAAAAAAAFw==", "keyId": "lastSuccessRunTime", “值类型”:“二进制” }

业务团队还希望我使用 dataweave playground 显示日期时间戳

我正在尝试使用 dataweave 将二进制值转换为可读格式。据我所知,我尝试了可用的选项,但没有成功。

有人可以帮忙吗?

这是DW代码:

%dw 2.0
import * from dw::core::Binaries
output application/json
var 
base64="++Kn0AIB5+z4uQQBMjAyMi0wMS0zMVQxNToyODozMy4yN7b8rNmhAQHn7Pi5BGFwcGxpY2F0aW9uL2phdmE7IGNoYXJzZXQ9VVRGLbgAAAAAAAAAFw=="
---
fromBase64(base64)

你可以试试这个代码,它只是针对你的问题的具体解决方案,但我坚持要遵循这个 link https://help.mulesoft.com/s/article/How-to-decode-Object-Store-Key-value-in-Mule-4

%dw 2.0
import * from dw::core::Binaries
output application/json
---
do {
    var decode= fromBase64(payload.binaryValue)
    var data= decode[(decode find "2")[0] + 1 to (decode find ".")[0] + 3]
    ---
    data
}

这段代码的输出是

"2022-01-31T15:28:33.27"

下面是 input/code/output 的片段

注意:正确的方法是尽可能使用对象存储'Retrieve'操作