PublishKafka
Описание
Отправляет содержимое файла потока как сообщение или как отдельные записи в Apache Kafka с использованием API Producer Kafka. Сообщения для отправки могут быть отдельными файлами потока, могут быть разделены с использованием указанного пользователем разделителя (например, новой строки) или могут быть данными, ориентированными на записи, которые могут быть прочитаны настроенным Record Reader. Дополнительный процессор NiFi для получения сообщений — это ConsumeKafka.
Теги
Apache, Kafka, Record, csv, json, avro, logs, Put, Send, Message, PubSub
Свойства
Название | Описание |
---|---|
Kafka Connection Service | Предоставляет подключения к брокеру Kafka для публикации записей Kafka |
Topic Name | Имя темы Kafka, в которую процессор публикует записи Kafka Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Failure Strategy | Specifies how the processor handles a FlowFile if it is unable to publish the data to Kafka |
Delivery Guarantee | Указывает требование для гарантии отправки сообщения в Kafka. Соответствует свойству acks клиента Kafka. |
Compression Type | Указывает стратегию сжатия записей, отправляемых в Kafka. Соответствует свойству compression.type клиента Kafka. |
Max Request Size | Максимальный размер запроса в байтах. Соответствует свойству max.request.size клиента Kafka. |
Transactions Enabled | Указывает, следует ли предоставлять гарантии транзакций при взаимодействии с Kafka. Если при отправке данных в Kafka возникает проблема, а для этого свойства установлено значение false, то сообщения, которые уже были отправлены в Kafka, будут продолжены и доставлены потребителям. Если для этого свойства установлено значение true, то транзакция Kafka будет отменена, чтобы эти сообщения не были доступны потребителям. Если для этого параметра установлено значение true, необходимо, чтобы для свойства [Гарантия доставки] было установлено значение [Гарантия реплицированной доставки.] |
Transactional ID Prefix | Указывает, что идентификатор транзакции KafkaProducer будет сгенерированным UUID с префиксом в виде настроенной строки. Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)This Property is only considered if the [Transactions Enabled] Property has a value of "true". |
Partitioner Class | Указывает, какой класс использовать для вычисления идентификатора раздела для сообщения. Соответствует свойству Kafka Client partitioner.class. |
Partition | Указывает раздел Kafka, в который будут записываться данные. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Message Demarcator | Указывает строку (интерпретируемую как UTF-8), которую следует использовать для разделения нескольких сообщений в одном FlowFile. Если не указано, все содержимое FlowFile будет использоваться как одно сообщение. Если указано, содержимое FlowFile будет разделено по этому разделителю, и каждый раздел будет отправлен как отдельное сообщение Kafka. Чтобы ввести специальный символ, например «новую строку», нажмите CTRL+Enter или Shift+Enter в зависимости от вашей операционной системы. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Record Reader | Читатель записей, используемый для входящих файлов Flow |
Record Writer | Средство записи, используемое для сериализации данных перед отправкой в Kafka |
Publish Strategy | Формат, используемый для публикации входящей записи FlowFile в Kafka. |
Message Key Field | Имя поля во входных записях, которое следует использовать в качестве ключа для сообщения Kafka. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Publish Strategy] Property has a value of "Use Content as Record Value". |
FlowFile Attribute Header Pattern | Регулярное выражение, которое сопоставляется со всеми именами атрибутов FlowFile. Любой атрибут, имя которого соответствует шаблону, будет добавлен в сообщения Kafka в качестве заголовка. Если не указано, атрибуты FlowFile не будут добавлены в качестве заголовков.This Property is only considered if the [Publish Strategy] Property has a value of "Use Content as Record Value". |
Header Encoding | Для любого атрибута, добавляемого в качестве заголовка записи Kafka, это свойство указывает кодировку символов, используемую для сериализации заголовков. This Property is only considered if the [FlowFile Attribute Header Pattern] Property has a value specified. |
Kafka Key | Ключ, используемый для сообщения. Если он не указан, в качестве ключа сообщения используется атрибут FlowFile «kafka.key», если он присутствует. Имейте в виду, что одновременное указание ключа Kafka и разграничение потенциально может привести к появлению множества сообщений Kafka с одним и тем же ключом.Обычно это не является проблемой, поскольку Kafka не обеспечивает и не предполагает уникальность сообщений и ключей. Тем не менее одновременное указание разделителя и ключа Kafka создает риск потери данных в Kafka. При сжатии тем в Kafka сообщения будут дедуплицированы на основе этого ключа. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Publish Strategy] Property has a value of "Use Wrapper". |
Kafka Key Attribute Encoding | FlowFiles that are emitted have an attribute named 'kafka.key'. This property dictates how the value of the attribute should be encoded.This Property is only considered if the [Publish Strategy] Property has a value of "Use Wrapper". |
Record Key Writer | Записывающее устройство для записи ключей записей, используемое для исходящих файлов FlowThis Property is only considered if the [Publish Strategy] Property has a value of "Use Wrapper". |
Record Metadata Strategy | Указывает, должны ли метаданные записи (тема и раздел) поступать из поля метаданных записи или из настроенных свойств имени темы и раздела / класса PartitionerThis Property is only considered if the [Publish Strategy] Property has a value of "Use Wrapper". |
Взаимосвязи
- failure: Любой файл потока, который не может быть отправлен в Kafka, будет направлен в это отношение
- success: Файлы потока, для которых все содержимое было отправлено в Kafka.