Spring Cloud Data Transform - PullRequest
       30

Spring Cloud Data Transform

0 голосов
/ 20 сентября 2018

У меня есть документ json: мне нужно извлечь CreateTime и CorrelationId. Объединить два и записать, образец json-документа belwo {"MessageId": "a156155f-1767-43a5-a6c0-01381291a64a", "MessageVersion": "1.0", " CreateTime ": " 2018-07-26T17: 59: 47.6303585Z "," PublishTime ":" 2018-07-26T17: 59: 47.6323632Z "," TenantId ":" SF ","UserId": "jdoe", " CorrelationId":"15125215215126", "MessageNamespace": {"BusinessUnit": "csg-acs", "Product": "dp", "Module": "bill-submit "," MessageType ":" bill-review "}," Headers ": {}," SchemaName ":" csg.acs.bill "," SchemaVersion ":" 1.0 "," Message ": {" BillId":" bill-9939 "}," Host ": {" MachineName ":" JB97316-D "," IPAddress ":" 172.20.24.37 "," Region ":" us "," ProcessName ":" Publisher ",«ProcessId»: 15804, «EbeSdkVersion»: «.NET, Mitchell.Corp.EnterpriseBusinessEvents.Message, 0.1.0-dev-00012», «OperatingSystemVersion»: «Microsoft Windows NT 6.2.9200.0»}}

Текущая реализация У меня есть следующие преобразования 1) transform --expression = # jsonPath (полезная нагрузка, '$. CreateTime')>: extractJson 2) transformCorrId: transform --expression = # jsonPath (полезная нагрузка, '$. CorrelationId')>: extractJson

3): extractJson>log

Таким образом, в этой реализации вывод в журнал выглядит как две отдельные строки 2018-09-20 18: 12: 43.755 INFO 25880 --- [-L-1] log-sink: 15125215215126 2018-09-20 18: 12: 43.756 ИНФОРМАЦИЯ 25880 --- [-L-1] приемник журнала: 2018-07-26T17: 59: 47.6303585Z

Однако мы хотим, чтобы корреляция ID и время создания были объединены (что-токак разделенные запятыми) строковые манипуляции, такие как 15125215215126,2018-07-26T17: 59: 47.6303585Z перед отправкой в ​​приемник журнала, но не уверен, как объединить, используя преобразование, поскольку преобразование получит переменные полезной нагрузки от двух входных данных .. так что нужнодля этого помогите с выражением spEL.

Заранее спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...