Перейти к основному содержимому

LookupRecord

Описание

Извлекает одно или несколько полей из записи и ищет значение для этих полей в LookupService. Если LookupService возвращает результат, этот результат может быть добавлен в запись. В этом случае процессор функционирует как процессор обогащения. В любом случае, запись затем направляется либо в отношение 'matched', либо в отношение 'unmatched' (если свойство 'Routing Strategy' настроено на это), указывая, был ли результат возвращен LookupService, что позволяет процессору также функционировать как процессор маршрутизации. "Координаты" для поиска значения в LookupService определяются добавлением пользовательского свойства. Каждое добавленное свойство добавляется в карту, где имя свойства становится ключом карты, а значение, возвращаемое RecordPath, становится значением для этого ключа. Если RecordPath возвращает несколько значений, запись будет направлена в отношение 'unmatched' (или 'success', в зависимости от настройки свойства 'Routing Strategy'). Если одно или несколько полей совпадают с Result RecordPath, все совпадающие поля будут обновлены. Если совпадения с настроенным LookupService нет, поля не будут обновлены. Иными словами, существующее значение в записи не будет перезаписано на null. Однако обратите внимание, что если результаты, возвращенные LookupService, не учитываются в вашей схеме (конкретно, в схеме, настроенной для вашего Record Writer), поля не будут записаны в FlowFile.

Теги

lookup, enrichment, route, record, csv, json, avro, database, db, logs, convert, filter

Свойства

НазваниеОписание
Record ReaderУказывает службу контроллера, используемую для чтения входящих данных
Record WriterУказывает службу контроллера, используемую для записи записей
Lookup ServiceСлужба поиска, используемая для поиска значения в каждой записи
Root Record PathПуть к записи, указывающий на дочернюю запись в каждой из записей верхнего уровня в файле Flow. Если указано, дополнительные свойства RecordPath будут вычисляться для этой дочерней записи, а не для записи верхнего уровня. Это позволяет выполнять обогащение для нескольких дочерних записей в рамках одной записи верхнего уровня. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Routing StrategyУказывает, как маршрутизировать записи после завершения поиска.
Record Result ContentsКогда получен результат, содержащий запись, это свойство определяет, будет ли сама запись вставлена по заданному пути или содержимое записи (т. е. подполя) будет вставлено по заданному пути.
Record Update StrategyЭто свойство определяет стратегию, используемую при обновлении записи значением, возвращаемым службой поиска.
Result RecordPathПуть к записи, указывающий на поле, значение которого должно быть обновлено любым значением, возвращаемым службой поиска. Если значение не указано, то возвращаемое службой поиска значение будет игнорироваться, за исключением случаев, когда необходимо определить, следует ли направлять FlowFile в «совпадающее» или «несовпадающее» отношение. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Record Update Strategy] Property has a value of "Use "Result RecordPath" Property".
Cache SizeУказывает, сколько значений/записей поиска следует кэшировать. Если для этого свойства установлено значение 0, то кэширование не будет выполняться и таблица будет запрашиваться для каждого значения поиска в каждой записи. Если таблица поиска часто меняется или необходимо получить самые последние данные, не используйте кэш. Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)

Взаимосвязи

  • success: Все записи будут отправлены в это отношение, если оно настроено таким образом, за исключением случаев сбоя
  • failure: Если FlowFile не может быть обогащен, неизменный FlowFile будет отправлен в это отношение