Вы хотите использовать следующий код, чтобы получить значение PropertyDescriptor
из ProcessContext
:
@Override
public void onTrigger(final ProcessContext context, final ProcessSession session) {
FlowFile flowFile = session.get();
if (flowFile == null) {
return;
}
final String csvPath = context.getProperty(CSV_PATH).getValue();
// Do something with csvPath
}
Если вы решилиподдержка Язык выражений NiFi в этом дескрипторе свойства, вы также должны оценить это:
final String csvPath = context.getProperty(CSV_PATH).evaluateAttributeExpressions().getValue();
Для этого есть дополнительные переопределения методов, включая атрибуты потокового файла, реестр переменных, пользовательские декораторы и т. д.
Это описано в Руководстве разработчика Apache NiFi .Недавно я провел презентацию на Dataworks Summit Barcelona 2019 , посвященную разработке нестандартных процессоров, с некоторыми рекомендациями и примерами, которые могут оказаться полезными.Вы также можете посмотреть на любой существующий процессор в базе кода NiFi, чтобы увидеть примеры.