PublishKafka 2025.5.31.15

Bundle

com.snowflake.openflow.runtime | runtime-kafka-nar

Description

Envoie le contenu d’un FlowFile sous forme de message ou d’enregistrements individuels à Apache Kafka à l’aide de Kafka Producer API. Les messages à envoyer peuvent être des FlowFiles individuels, être délimités à l’aide d’un délimiteur spécifié par l’utilisateur (tel qu’un retour à la ligne), ou être des données orientées enregistrement qui peuvent être lues par le Record Reader configuré. Le processeur complémentaire de NiFi pour la récupération des messages est ConsumeKafka.

Balises

apache, avro, csv, json, kafka, logs, message, openflow, pubsub, put, record, send

Exigences en matière d’entrées

REQUIRED

Prend en charge les propriétés dynamiques sensibles

false

Propriétés

Propriété

Description

Failure Strategy

Spécifie comment le processeur gère un FlowFile s’il n’est pas en mesure de publier les données vers Kafka

FlowFile Attribute Header Pattern

Une expression régulière appliquée à tous les noms d’attributs du FlowFile Tout attribut dont le nom correspond au modèle sera ajouté aux messages Kafka en tant qu’en-tête. Si non spécifié, aucun attribut du FlowFile ne sera ajouté en tant qu’en-tête.

Header Encoding

Pour tout attribut ajouté en tant qu’en-tête d’enregistrement Kafka, cette propriété indique le Character Encoding à utiliser pour sérialiser les en-têtes.

Kafka Connection Service

Fournit des connexions au courtier Kafka pour la publication d’enregistrements Kafka

Kafka Key

La clé à utiliser pour le message. Si non spécifié, l’attribut du FlowFile “kafka.key” est utilisé comme clé du message, s’il est présent. Attention : configurer simultanément la clé Kafka et le Demarcator peut potentiellement entraîner la création de nombreux messages Kafka partageant la même clé. En général, ce n’est pas un problème, car Kafka n’impose ni ne suppose l’unicité des messages ou des clés. Cependant, définir à la fois le Demarcator et la clé Kafka présente un risque de perte de données sur Kafka. Lors d’un compactage de sujet sur Kafka, les messages seront dédupliqués sur la base de cette clé.

Kafka Key Attribute Encoding

Les FlowFiles émis possèdent un attribut nommé “kafka.key”. Cette propriété détermine comment la valeur de cet attribut doit être encodée.

Message Demarcator

Spécifie la chaîne (interprétée comme UTF-8) à utiliser pour délimiter plusieurs messages dans un seul FlowFile. S’il n’est pas spécifié, tout le contenu du FlowFile sera utilisé comme un seul message. Si spécifié, le contenu du FlowFile sera scindé selon ce délimiteur et chaque section envoyée comme un message Kafka distinct. Pour saisir un caractère spécial tel qu’un “new line”, utilisez CTRL+Entrée ou Maj+Entrée, selon votre système d’exploitation.

Message Key Field

Le nom d’un champ dans les enregistrements d’entrée qui doit être utilisé comme clé pour le message Kafka.

Publish Strategy

Le format utilisé pour publier l’enregistrement FlowFile entrant dans Kafka.

Record Key Writer

Record Key Writer à utiliser pour les FlowFiles sortants.

Record Metadata Strategy

Spécifie si les métadonnées de l’enregistrement (topic et partition) doivent provenir du champ de métadonnées de l’enregistrement ou si elles doivent provenir des propriétés configurées Topic Name et Partition/Partitioner class.

Record Reader

Le Record Reader à utiliser pour le FlowFiles entrant

Record Writer

Record Writer à utiliser pour sérialiser les données avant de les envoyer à Kafka.

Topic Name

Nom du topic Kafka auquel le processeur publie les enregistrements Kafka.

Transactional ID Prefix

Spécifie que la configuration KafkaProducer transactional.id sera un UUID généré et sera préfixée par la chaîne configurée.

Transactions Enabled

Spécifie s’il faut fournir des garanties transactionnelles lors de la communication avec Kafka. S’il y a un problème lors de l’envoi de données à Kafka et que cette propriété est définie sur “false”, les messages déjà envoyés à Kafka continueront et seront livrés aux consommateurs. Si cette propriété est définie sur “true”, alors la transaction Kafka sera annulée afin que ces messages ne soient pas accessibles aux consommateurs. Pour définir cette propriété sur “true”, la propriété [Delivery Guarantee] doit être définie sur [Guarantee Replicated Delivery.]

acks

Spécifie l’exigence permettant de garantir l’envoi d’un message à Kafka. Correspond à la propriété acks du client Kafka.

compression.type

Spécifie la stratégie de compression des enregistrements envoyés à Kafka. Correspond à la propriété compression.type du client Kafka.

max.request.size

La taille maximale d’une requête en octets. Correspond à la propriété max.request.size du client Kafka.

partition

Spécifie la destination de la partition Kafka pour les enregistrements.

partitioner.class

Spécifie quelle classe utiliser pour calculer un identifiant de partition pour un message. Correspond à la propriété Kafka Client partitioner.class.

Relations

Nom

Description

failure

Tout FlowFile qui ne peut pas être envoyé à Kafka sera routé vers cette relation

success

FlowFiles dont tout le contenu a été envoyé à Kafka.

Écrit les attributs

Nom

Description

msg.count

Le nombre de messages qui ont été envoyés à Kafka pour ce FlowFile. Cet attribut est ajouté uniquement aux FlowFiles routés vers success

Voir aussi :