IMPORTANTE: Esta documentação foi descontinuada. Leia a documentação Kafka atualizada no nosso novo portal de documentação.
O Kafka produz registros para os brokers Kafka configurados nele.
Dê uma olhada nos parâmetros de configuração do componente:
Kafka Authentication Account (BASIC): se o servidor Kafka precisar de autenticação, será necessário criar uma conta tipo BASIC para esse componente. Suportamos também autenticação via Kerberos.
Truststore: caso seja necessário informar uma truststore para realizar o SSL Handshake utilizando certificados privados, deve-se criar uma conta do tipo CERTIFICATE-CHAIN e informar os certificados concatenados. No campo “password” é opcional inserir a senha a ser cadastrada na criação da truststore.
Keystore: caso seja necessário informar uma keystore para realizar a autenticação SSL mútua, deve-se uma conta do tipo CERTIFICATE-CHAIN, informar a cadeia completa com os certificados concatenados e a chave privada a ser utilizada para a autenticação SSL mútua. Caso exista uma chave privada, é necessário informá-la no campo “password”.
Brokers: brokers do servidor (HOST: PORT) usados para o envio de registros. Para informar múltiplos HOSTS, você pode separá-los por vírgula. Exemplo: HOST1:PORT1,HOST2:PORT2,...,HOSTn:PORTn
Security Protocol: forma que a conexão é estabelecida. Você pode ou não utilizar um canal de segurança (SSL) e de autenticação (SASL). A utilização de ambos (SASL_SSL) também é possível.
IMPORTANTE: devido a necessidade de uma grande alocação de memória, não suportamos os seguintes tipos de Security Protocol: PLAINTEXT e SASL_PLAINTEXT. Para entender melhor, clique aqui.
Schema Registry URL: caso ao menos uma das opções Headers By Avro Schema, Payload As Avro e Partition Key As Avro for ativada, o campo será exibido para que seja informada a URL do Schema Registry.
Schema Registry Account: account para autenticação com o Schema Registry.
Schema Registry Truststore: caso seja necessário informar uma truststore para realizar o SSL Handshake utilizando certificados privados, deve-se criar uma conta do tipo CERTIFICATE-CHAIN e informar os certificados concatenados. No campo “password” é opcional inserir a senha a ser cadastrada na criação da truststore.
Schema Registry Keystore: caso seja necessário informar uma keystore para realizar a autenticação SSL mútua, deve-se criar uma conta do tipo CERTIFICATE-CHAIN, informar a cadeia completa com os certificados concatenados e a chave privada a ser utilizada para a autenticação SSL mútua. Caso exista uma chave privada, é necessário informá-la no campo “password”.
Headers: conjunto de entradas "chave": "valor", com headers a serem enviados na mensagem (campo opcional). Caso a opção Headers By Avro Schema for ativada, o campo tem seu formato alterado para receber um JSON contendo os valores dos Headers.
Binary Headers: se esta opção estiver ativada, os valores dos headers são considerados binários e interpretados como uma sequência com representação base64; caso contrário, os valores dos headers são interpretados como texto.
Headers By Avro Schema: se a opção estiver ativa, o componente validará os Headers com base em um schema Avro antes de realizar o envio dos Headers. (os Headers são enviados como String).
Headers Schema: caso a opção Headers By Avro Schema for ativada, o campo será exibido para que seja informado o Schema dos Headers a serem validados.
Headers Charset: nome do código de caracteres para codificação de valores de headers (padrão UTF-8).
Payload: payload a ser despachado.
Payload As Avro: se a opção estiver ativada, o componente enviará o payload no formato Avro.
Payload Schema: se a opção Payload As Avro estiver habilitada, o campo será mostrado para informar o Payload Schema a ser validado.
Request Timeout: configuração que controla o tempo máximo (em milissegundos) que o cliente aguarda pela resposta de uma requisição. Se a resposta não for recebida antes do tempo máximo passar, a requisição é automaticamente reenviada. Caso contrário, haverá um erro se as novas tentativas forem esgotadas.
Retries: Se um valor diferente de 0 (zero) for estabelecido, qualquer registro tenha falha de despacho será reenviado. Esses registros podem ser reenviados com um provável erro transitório.
Metadata Timeout: tempo máximo para o despacho de registro Kafka.
Key Strategy: caso a opção Partition Key As Avro for ativada, o campo será exibido para configuração da estratégia de subject a ser utilizada para construir o subject name para as keys das mensagens.
Value Strategy: caso a opção Payload as Avro for ativada, o campo será exibido para configuração da estratégia de subject a ser utilizada para construir o subject name para os values das mensagens.
Fail On Error: Se a opção estiver ativada, a execução do pipeline com erro será interrompida; caso contrário, a execução do pipeline prossegue, mas o resultado mostrará um valor falso para a propriedade "sucesso".
Kerberos Service Name: valor definido no sasl.kerberos.service.name configurado no Kafka broker server side.
Partition Number: especificamos os números da partição para onde o Kafka Trigger enviará as mensagens. Se a propriedade não estiver configurada, o servidor Kafka será responsável por decidir para qual tópico a mensagem será enviada.
Partition Key: uma chave de partição pode ser especificada para indicar a partição para onde a mensagem será enviada. Se o campo não estiver preenchido, um "partitioner" baseado em "hashing" é usado para determinar o id de partição dado a cada chave.
Partition Key As Avro: se a opção estiver ativada, o componente fará o envio do partition key no formato Avro.
Partition Key Schema: caso a opção Partition Key As Avro for ativada, o campo será exibido para que seja informado o Schema da partition key a ser validada.
Producer Client Name: identificador da origem das requisições (opcional)
Acks: configuração para confirmação do recebimento da mensagem pelo broker Kafka (valores: 0, 1 ou ALL)
IMPORTANTE: As mensagens trafegadas no formato Avro deverão ser do tamanho máximo suportado por Pipelines SMALL, MEDIUM ou LARGE. O componente não suporta cenários extremos de leitura de dezenas de mega/giga/tera/peta bytes.
Atualmente, o suporte ao formato Avro está em fase Beta.
Exemplo de resposta de requisição ao Kafka
{
"message": "{}",
"offset": 201,
"timestamp": 1585168528773,
"serializedKeySize": -1,
"serializedValueSize": 2,
"topic": "Welcome-Kafka",
"partition": 1,
"success": verdadeiro
}
message: mensagem enviada
offset: offset do registro no tópico/partição
timestamp: horário/data do registro no tópico/partição
serializedKeySize: tamanho da chave serializada, com valor descomprimido em bytes. Se o valor é nulo, o tamanho devolvido é -1
serializedValueSize: tamanho do valor serializado, com valor descomprimido em bytes. Se o valor é nulo, o tamanho devolvido é -1
topic: nome do tópico
partition: partição para onde o registro foi enviado
success: se "verdadeiro", o envio foi realizado com sucesso
Fluxo de Mensagens
Entrada
O componente aceita qualquer mensagem de entrada e pode fazer uso dela através de Double Braces.
Saída
O componente não altera nenhuma informação da mensagem de entrada. Portanto, ela é retornada para o componente seguinte ou é utilizada como resposta final se este componente for o último passo do pipeline.
Kafka em Ação
Autenticação utilizando SSL ou SASL
Isso permite a autenticação dos seus produtores e clientes ao cluster do Kafka (verificação de identidade). Essa também é uma forma segura de permitir que os seus clientes confirmem a identidade.
Autenticação usando Kerberos
Para utilizar a autenticação via Kerberos no Kafka é necessário ter cadastrado o arquivo de configuração “krb5.conf” no parâmetro de Realm. Caso não tenha feito isso, acione o nosso suporte via chat. Após concluir esse passo, basta configurar corretamente uma conta do tipo Kerberos e utilizá-la no componente.