Os nós KafkaProducer, KafkaConsumer e KafkaRead suportam variáveis de árvore de mensagens do ambiente local, que você pode usar para alterar dinamicamente as propriedades do nó.
É possível usar propriedades de cabeçalho customizado Kafka para incluir metadados nas mensagens Kafka para uso durante o processamento de mensagens. Essas propriedades são configuradas no LocalEnvironment, em uma pasta chamada KafkaHeader. Para obter mais informações, consulte Definição e recuperação das propriedades do cabeçalho personalizado do site Kafka.
KafkaProducer propriedades do ambiente local do nó
A tabela a seguir mostra os elementos na árvore de mensagens
LocalEnvironment.Destination.Kafka.Output , que pode ser usada para substituir a propriedade
Topic name no nó
KafkaProducer . A tabela inclui um exemplo de como configurar os valores usando o ESQL; no entanto, você também pode configurá-los usando nós de transformação, como o nó
Mapping . Para acessar o LocalEnvironment a partir de um nó
Mapping , veja
Customizando um mapa de mensagens para incluir um componente de montagem de mensagens.
Tabela 1. Propriedades do ambiente local de entrada que podem ser usadas pelo KafkaProducer nó
| Nome do elemento |
Tipo |
Descrição |
| LocalEnvironment.Destination.Kafka.Output.topicName |
sequência |
O nome do tópico no qual a mensagem será publicada. Esta variável de ambiente substitui a propriedade Topic name no nó. Exemplo:SET OutputLocalEnvironment.Destination.Kafka.Output.topicName = 'customers';
|
| LocalEnvironment.Destination.Kafka.Output.key |
sequência |
Um valor de sequência para associar com a mensagem. Quando a mensagem está sendo publicada em um tópico com várias partições, um hash do valor da chave é usado para selecionar a partição na qual a mensagem é armazenada. Se nenhuma chave for fornecida, as mensagens serão distribuídas entre as partições de tópico pelo Kafka. Todas as mensagens publicadas que usam o mesmo valor da chave são enviadas para a mesma partição. |
| LocalEnvironment.Destination.Kafka.Output.serializationMode |
sequência |
O modo de serialização do Avro. Há duas opções: Padrão e Avro. O modo de serialização é usado para selecionar se a mensagem deve ser serializada usando o domínio da mensagem ou usando um esquema Avro. |
| LocalEnvironment.Destination.Kafka.Output.schemaId |
sequência |
O identificador do esquema. |
| LocalEnvironment.Destination.Kafka.Output.clientId |
sequência |
A ID do cliente a ser usada ao estabelecer a conexão com Kafka. Essa variável de ambiente substitui a propriedade Client ID no nó. |
| LocalEnvironment.Destination.Kafka.Output.timestamp |
gmttimestamp ou inteiro |
O registro de data e hora a ser definido na mensagem publicada. Se esse valor não for definido, o registro de data e hora será definido pelo corretor Kafka. |
A tabela a seguir mostra os dados que são escritos pelo nó
KafkaProducer para o LocalEnvironment ao propagar uma mensagem de saída:
Tabela 2. Propriedades de ambiente local de saída geradas pelo nó KafkaProducer
| Element |
Tipo |
Descrição |
| LocalEnvironment.WrittenDestination.Kafka.topicName |
sequência |
O tópico no qual a mensagem foi publicada. |
| LocalEnvironment.WrittenDestination.Kafka.partition |
número inteiro |
A partição (no tópico) que contém a mensagem. |
| LocalEnvironment.WrittenDestination.Kafka.offset |
número inteiro |
O número de deslocamento na partição, para a mensagem que foi publicada. |
| LocalEnvironment.WrittenDestination.Kafka.key |
sequência |
O valor da chave que foi fornecido no ambiente local de entrada. |
| LocalEnvironment.WrittenDestination.Kafka.timestamp |
GMTTIMESTAMP |
O registro de data e hora da mensagem Kafka. |
KafkaConsumer propriedades do ambiente local do nó
Depois de um nó KafkaConsumer ter lido uma mensagem, essas propriedades são colocadas no LocalEnvironment. O nó KafkaRead pode levar esses valores como entrada para re-ler a mensagem em um cenário de falha para o qual o nó KafkaRead está sendo usado (durante o processamento de captura).
A tabela a seguir mostra os dados que são escritos pelo nó
KafkaConsumer para o LocalEnvironment ao propagar uma mensagem de saída:
Tabela 3. Propriedades de ambiente local de saída geradas pelo nó KafkaConsumer
| Element |
Tipo |
Descrição |
| LocalEnvironment.Kafka.Input.topicName |
sequência |
O tópico no qual a mensagem foi publicada. |
| LocalEnvironment.Kafka.Input.partition |
número inteiro |
A partição (no tópico) que contém a mensagem. |
| LocalEnvironment.Kafka.Input.offset |
número inteiro |
O número de deslocamento na partição, para a mensagem que foi recebida. |
| LocalEnvironment.Kafka.Input.key |
sequência |
A chave (se houver) que foi associada à mensagem recebida. Esse campo existirá somente se uma chave foi associada à mensagem quando ela foi publicada. O valor da chave recebida é recebido como uma string pelo nó KafkaConsumer . |
| LocalEnvironment.Kafka.Input.timestamp |
GMTTIMESTAMP |
O registro de data e hora da mensagem Kafka. |
| LocalEnvironment.Kafka.input.timestampType |
número inteiro |
O tipo de registro de data e hora da mensagem Kafka. |
KafkaRead propriedades do ambiente local do nó
A tabela a seguir mostra elementos que podem ser usados para substituir as propriedades no nó
KafkaRead :
Tabela 4. Propriedades de ambiente local de entrada que podem ser usadas pelo nó KafkaRead
| Nome do elemento |
Tipo |
Descrição |
| LocalEnvironment.Destination.Kafka.Read.topicName |
sequência |
O tópico no qual a mensagem foi publicada. |
| LocalEnvironment.Destination.Kafka.Read.partition |
número inteiro |
A partição (no tópico) que contém a mensagem. Antes da versão 13.0.5.0, o nome dessa propriedade era partitionNumber. Ambos os nomes de propriedade são compatíveis, mas se ambos forem fornecidos, o valor especificado na propriedade partition será usado preferencialmente ao valor da propriedade partitionNumber .
|
| LocalEnvironment.Destination.Kafka.Read.offset |
número inteiro |
O número de deslocamento na partição para a mensagem que foi recebida. |
| LocalEnvironment.Destination.Kafka.Read.connectionTimeout |
número inteiro |
O tempo limite usado para ler a mensagem no tópico do Kafka. |
| LocalEnvironment.Destination.Kafka.Read.clientId |
sequência |
A ID do cliente a ser usada ao estabelecer a conexão com Kafka. Essa variável de ambiente substitui a propriedade Client ID no nó. |
A tabela a seguir mostra os dados que são escritos pelo nó
KafkaRead para o LocalEnvironment após a leitura de uma mensagem:
Tabela 5. Dados escritos pelo nó KafkaRead para o LocalEnvironment
| Nome do elemento |
Tipo |
Descrição |
| LocalEnvironment.Kafka.Read.topicName |
sequência |
O tópico no qual a mensagem foi publicada. |
| LocalEnvironment.Kafka.Read.partition |
número inteiro |
A partição (no tópico) que contém a mensagem. |
| LocalEnvironment.Kafka.Read.offset |
número inteiro |
O número de deslocamento na partição para a mensagem que foi recebida. |
| LocalEnvironment.Kafka.Read.key |
sequência |
A chave (se houver) que foi associada à mensagem recebida. Esse campo existirá somente se uma chave foi associada à mensagem quando ela foi publicada. O valor da chave recebida é recebido como uma string pelo nó KafkaRead . |
| LocalEnvironment.Kafka.Read.timestamp |
GMTTIMESTAMP |
O registro de data e hora da mensagem Kafka. |
| LocalEnvironment.Kafka.Read.timestampType |
número inteiro |
O tipo de registro de data e hora da mensagem Kafka. |