Если явно не переназначить, это не будет работать Вы должны рассмотреть всю структуру документа сверху вниз. Это не последовательность строк - это объект / словарь JSON на верхнем уровне, значение которого представляет собой последовательность последовательностей строк.
Объект / словарь JSON может отображаться на тип события на основе имен полей. Поэтому, как сказал ответ Мэтта, для документа JSON, подобного вашему, потребуется тип события, например
.
event SomeEventType {
sequence<sequence<string > > test2;
}
Если нецелесообразно создавать тип события, который точно соответствует структуре документа JSON, то вам нужно использовать кодек сопоставления, чтобы переупорядочить поля в документе JSON, чтобы они соответствовали полям и подполям в событии. тип. Или, возможно, пользовательский кодек; Я думаю, что Мэтт прав, что картограф не может точно сделать то, что вы хотите.
Кроме того, поскольку документы JSON на верхнем уровне не содержат типов, вам необходимо убедиться, что тип события как-то определен. Есть несколько способов сделать это.
(1) Если это конкретное соединение будет отправлять вам только события одного типа, вы можете использовать опцию конфигурации 'defaultEventType' в плагине хоста apama.eventMap в верхней части цепочки, например
apama.eventMap:
defaultEventMap: SomeEventType
(2) Если это зависит от структуры документа, вам необходимо использовать кодек классификатора. Это может принять сообщение, идущее к коррелятору, и назначить ему тип события на основе содержимого полей (или просто их наличия). Вы можете узнать об этом в документации.
(3) Транспорт иногда определяет его в сообщениях, отправляемых в коррелятор. Например, в случае транспорта Universal Messaging в качестве типа будет использоваться «тег» события единой системы обмена сообщениями. Это может или не может быть уместным.
Если вы все же сделаете что-нибудь нетривиальное с классификатором или картографом, я настоятельно рекомендую использовать «диагностический кодек», чтобы помочь в разработке правил классификатора или картографа. Это кодек, который вы можете поместить в любом месте в цепочке кодеков, который будет регистрировать каждое событие, проходящее через него, чтобы вы могли увидеть, как работают ваши правила, увидев, что происходит до и после классификации / отображения. Вы можете прочитать об этом в документации, но обычно это так же просто, как поместить куда-нибудь в вашей цепочке '- DiagnostCodec'. Я нашел это абсолютно бесценным при отладке цепочек подключения.