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

PublishKafka_2_6

Описание

Отправляет содержимое файла потока в виде сообщения в Apache Kafka с использованием API Producer Kafka 2.6. Сообщения для отправки могут быть отдельными файлами потока или могут быть разделены с использованием указанного пользователем разделителя, такого как новая строка. Дополнительный процессор NiFi для получения сообщений — это ConsumeKafka_2_6.

Теги

Apache, Kafka, Put, Send, Message, PubSub, 2.6

Свойства

НазваниеОписание
Kafka BrokersComma-separated list of Kafka Brokers in the format host:port Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)
Topic NameНазвание темы Kafka для публикации. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Use TransactionsУказывает, должен ли NiFi обеспечивать транзакционные гарантии при взаимодействии с Kafka. Если при отправке данных в Kafka возникают проблемы, а для этого свойства установлено значение false, то сообщения, которые уже были отправлены в Kafka, будут доставлены потребителям. Если для этого параметра установлено значение true, то транзакция Kafka будет отменена, чтобы эти сообщения не были доступны потребителям. Для установки этого параметра в значение true необходимо, чтобы для свойства <Гарантия доставки> было установлено значение «Гарантия реплицированной доставки».
Transactional Id PrefixЕсли для параметра «Использовать транзакцию» установлено значение true, то для параметра «transactional.id» конфигурации KafkaProducer будет сгенерирован UUID с префиксом в виде этой строки. Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)This Property is only considered if the [Use Transactions] Property has a value of "true".
Message DemarcatorУказывает строку (интерпретируемую как UTF-8), которую следует использовать для разделения нескольких сообщений в одном FlowFile. Если не указано, все содержимое FlowFile будет использоваться как одно сообщение. Если указано, содержимое FlowFile будет разделено по этому разделителю, и каждый раздел будет отправлен как отдельное сообщение Kafka. Чтобы ввести специальный символ, например «новую строку», используйте CTRL+Enter или Shift+Enter в зависимости от вашей операционной системы. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Failure StrategySpecifies how the processor handles a FlowFile if it is unable to publish the data to Kafka
Delivery GuaranteeУказывает требование для гарантии отправки сообщения в Kafka. Соответствует свойству Kafka 'acks'.
Attributes to Send as Headers (Regex)Регулярное выражение, которое сопоставляется со всеми именами атрибутов FlowFile. Любой атрибут, имя которого соответствует регулярному выражению, будет добавлен в сообщения Kafka в качестве заголовка. Если не указано, атрибуты FlowFile не будут добавлены в качестве заголовков.
Message Header EncodingДля любого атрибута, добавляемого в качестве заголовка сообщения, как указано в свойстве <Атрибуты для отправки в виде заголовков>, это свойство указывает кодировку символов, используемую для сериализации заголовков.
Security ProtocolSecurity protocol used to communicate with brokers. Corresponds to Kafka Client security.protocol property
SASL MechanismSASL mechanism used for authentication. Corresponds to Kafka Client sasl.mechanism property
Kerberos User ServiceService supporting user authentication with Kerberos
Kerberos Service NameThe service name that matches the primary name of the Kafka server configured in the broker JAAS configuration Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)
UsernameUsername provided with configured password when using PLAIN or SCRAM SASL Mechanisms Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)This Property is only considered if the [SASL Mechanism] Property is set to one of the following values: [PLAIN], [SCRAM-SHA-512], [SCRAM-SHA-256]
PasswordPassword provided with configured username when using PLAIN or SCRAM SASL Mechanisms Чувствительный параметр: true Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)This Property is only considered if the [SASL Mechanism] Property is set to one of the following values: [PLAIN], [SCRAM-SHA-512], [SCRAM-SHA-256]
AWS Profile NameThe Amazon Web Services Profile to select when multiple profiles are available. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [SASL Mechanism] Property
Token AuthenticationEnables or disables Token authentication when using SCRAM SASL MechanismsThis Property is only considered if the [SASL Mechanism] Property is set to one of the following values: [SCRAM-SHA-512], [SCRAM-SHA-256]
SSL Context ServiceService supporting SSL communication with Kafka brokers
Kafka KeyКлюч, используемый для сообщения. Если не указано, в качестве ключа сообщения используется атрибут «kafka.key» в файле потока, если он присутствует. Имейте в виду, что одновременное указание ключа Kafka и разграничение потенциально может привести к появлению множества сообщений Kafka с одним и тем же ключом.Обычно это не является проблемой, поскольку Kafka не обеспечивает и не предполагает уникальность сообщений и ключей. Тем не менее одновременное указание разделителя и ключа Kafka создает риск потери данных в Kafka. При сжатии тем в Kafka сообщения будут дедуплицированы на основе этого ключа. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Key Attribute EncodingВыводимые файлы Flow имеют атрибут с именем '" + KafkaFlowFileAttribute.KAFKA_KEY + "'. Это свойство определяет, как должно быть закодировано значение атрибута.
Max Request SizeМаксимальный размер запроса в байтах. Соответствует свойству «max.request.size» в Kafka и по умолчанию равно 1 МБ (1048576).
Acknowledgment Wait TimeПосле отправки сообщения в Kafka это значение указывает, сколько времени мы готовы ждать ответа от Kafka. Если Kafka не подтвердит получение сообщения в течение этого времени, FlowFile будет перенаправлен в состояние «сбой».
Max Metadata Wait TimeВремя, в течение которого издатель будет ожидать получения метаданных или очистки буфера во время вызова 'send' перед завершением всего вызова 'send'. Соответствует свойству Kafka 'max.block.ms' Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)
Partitioner classУказывает, какой класс использовать для вычисления идентификатора раздела для сообщения. Соответствует свойству «partitioner.class» в Kafka.
PartitionУказывает, в какой раздел будут отправляться записи. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Compression TypeЭтот параметр позволяет указать кодек сжатия для всех данных, генерируемых этим производителем.

Взаимосвязи

  • failure: Любой файл потока, который не может быть отправлен в Kafka, будет направлен в это отношение
  • success: Файлы потока, для которых все содержимое было отправлено в Kafka.