Код в ваших пользовательских функциях (например, RichFlatMapFunction или KeyedProcessFunction) может делать все, что вы захотите, в том числе делать вызовы REST для внешних служб. Однако вам следует избегать блокирования ввода-вывода в пользовательских функциях, поскольку барьеры контрольных точек не могут проходить через оператора, пока он заблокирован в пользовательской функции.
В таком случае хорошим способом решения этой проблемы является использование Asyn c API ввода-вывода Flink's в сочетании с HTTP-библиотекой, предлагающей асинхронный клиентский интерфейс.