PublishKafka 2025.5.31.15¶
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.
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 |
A chave a ser usada para a mensagem. Se não for especificado, o atributo “kafka.key” do FlowFile será usado como a chave da mensagem, se estiver presente. Cuidado com o fato de que a configuração da chave do Kafka e a demarcação ao mesmo tempo podem levar a muitas mensagens do Kafka com a mesma chave. Normalmente, isso não é um problema, pois o Kafka não aplica nem assume a exclusividade da mensagem e da chave. Ainda assim, definir o demarcador e a chave do Kafka ao mesmo tempo representa um risco de perda de dados no Kafka. Durante a compactação de um tópico no Kafka, as duplicações de mensagem serão eliminadas com base nessa chave. |
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 |
Especifica se os metadados do registro (tópico e partição) devem vir do campo de metadados do registro ou se devem vir das propriedades de classe configuradas Nome de tópico e partição/particionador (Topic Name and Partition/Partitioner) |
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. |