PublishKafka 2025.10.2.19

Pacote

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

Descrição

Envia o conteúdo de um FlowFile como uma mensagem ou como registros individuais ao Apache Kafka usando a Kafka Producer API. As mensagens a serem enviadas podem ser FlowFiles individuais, podem ser delimitadas usando um delimitador especificado pelo usuário (como uma nova linha) ou podem ser dados orientados a registros que podem ser lidos pelo Record Reader configurado. O processador complementar NiFi para buscar mensagens é ConsumeKafka.

Tags

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

Requisito de entrada

REQUIRED

Oferece suporte a propriedades dinâmicas confidenciais

falso

Propriedades

Propriedade

Descrição

Estratégia de falha

Especifica como o processador lida com um FlowFile se não puder publicar os dados no Kafka

Padrão de cabeçalho do atributo de FlowFile

Uma expressão regular que é comparada com todos os nomes de atributos de FlowFile. Qualquer atributo cujo nome corresponda ao padrão será adicionado às mensagens do Kafka como um cabeçalho. Se não for especificado, nenhum atributo de FlowFile será adicionado como cabeçalho.

Codificação de cabeçalho

Para qualquer atributo adicionado como um cabeçalho de registro do Kafka, essa propriedade indica a codificação de caracteres a ser usada para serializar os cabeçalhos.

Serviço de conexão Kafka

Fornece conexões com o corretor Kafka para a publicação de registros Kafka

Chave Kafka

The Key to use for the Message. If not specified, the FlowFile attribute “kafka.key” is used as the message key, if it is present. Beware that setting Kafka key and demarcating at the same time may potentially lead to many Kafka messages with the same key. Normally this is not a problem as Kafka does not enforce or assume message and key uniqueness. Still, setting the demarcator and Kafka key at the same time poses a risk of data loss on Kafka. During a topic compaction on Kafka, messages will be deduplicated based on this key.

Codificação de atributo de chave do Kafka

FlowFiles que são emitidos têm um atributo chamado “kafka.key”. Essa propriedade determina como o valor do atributo deve ser codificado.

Demarcador de mensagem

Especifica a cadeia de caracteres (interpretada como UTF-8) a ser usada para demarcar várias mensagens em um único FlowFile. Se não for especificado, todo o conteúdo do FlowFile será usado como uma única mensagem. Se especificado, o conteúdo do FlowFile será dividido nesse delimitador e cada seção será enviada como uma mensagem Kafka separada. Para inserir um caractere especial, como “nova linha”, use CTRL + Enter ou Shift + Enter, dependendo de seu OS.

Campo de chave de mensagem

O nome de um campo nos registros de entrada que deve ser usado como a chave da mensagem do Kafka.

Publicar estratégia

O formato usado para publicar o registro FlowFile de entrada no Kafka.

Gravador de chave de registro

O gravador de chave de registro a ser usado para os FlowFiles de saída

Estratégia de metadados de registro

Specifies whether the Record “s metadata (topic and partition) should come from the Record’s metadata field or if it should come from the configured Topic Name and Partition / Partitioner class properties

Record Reader

O Record Reader a ser usado para os FlowFiles de entrada

Record Writer

O Record Writer a ser usado para serializar os dados antes de enviá-los ao Kafka

Nome do tópico

Nome do tópico do Kafka no qual o processador publica os registros do Kafka

Prefixo de ID transacional

Especifica que o parâmetro transactional.id da configuração do KafkaProducer será um UUID gerado e será prefixado com a cadeia de caracteres configurada.

Transações habilitadas

Especifica se você deve fornecer garantias transacionais ao se comunicar com o Kafka. Se houver um problema no envio de dados ao Kafka e essa propriedade for definida como falsa, as mensagens que já foram enviadas ao Kafka continuarão sendo entregues aos consumidores. Se isso for definido como verdadeiro, a transação do Kafka será revertida para que essas mensagens não fiquem disponíveis aos consumidores. Definir isso como verdadeiro requer que a propriedade [Delivery Guarantee] seja definida como [Guarantee Replicated Delivery]

acks

Especifica o requisito para garantir que uma mensagem seja enviada ao Kafka. Corresponde à propriedade acks do cliente Kafka.

compression.type

Especifica a estratégia de compressão dos registros enviados ao Kafka. Corresponde à propriedade compression.type do cliente Kafka.

max.request.size

O tamanho máximo de uma solicitação em bytes. Corresponde à propriedade max.request.size do cliente Kafka.

partition

Especifica o destino da partição Kafka para registros.

partitioner.class

Especifica a classe a ser usada para computar um ID de partição para uma mensagem. Corresponde à propriedade partitioner.class do cliente Kafka.

Relações

Nome

Descrição

failure

Qualquer FlowFile que não possa ser enviado ao Kafka será encaminhado para essa relação

success

FlowFiles para o qual todo o conteúdo foi enviado ao Kafka.

Grava atributos

Nome

Descrição

msg.count

O número de mensagens enviadas ao Kafka para este FlowFile. Esse atributo é adicionado somente aos FlowFiles que são roteados para o sucesso.

Consulte também