Configure o Openflow Connector para Kafka¶
Nota
O conector está sujeito aos termos do conector.
Pré-requisitos¶
Certifique-se de ter revisado Openflow Connector para Kafka.
Certifique-se de ter configurado o Openflow.
Tipos de conectores¶
O Openflow Connector para Kafka está disponível em três configurações diferentes, cada uma otimizada para casos de uso específicos. Você pode baixar essas definições de conector na galeria de conectores:
- Apache Kafka para o formato de dados JSON
Conector simplificado para ingestão de mensagens JSON com evolução de esquema e mapeamento de tópico para tabela
- Apache Kafka para o formato de dados AVRO
Conector simplificado para ingestão de mensagens AVRO com evolução de esquema e mapeamento de tópico para tabela
- Apache Kafka com DLQ e metadados
Conector completo com suporte a fila de mensagens não entregues (DLQ), manipulação de metadados e paridade de recursos com o conector Snowflake legado para Kafka
Para obter a configuração detalhada de tipos específicos de conectores, consulte:
Apache Kafka para o formato de dados JSON/AVRO – conectores de formato de dados JSON/AVRO
Apache Kafka com DLQ e metadados – DLQ e conector de metadados
Configure a conta Snowflake¶
Como administrador de conta Snowflake, execute as seguintes tarefas:
Crie uma nova função ou use uma função existente e conceda a Privilégios de banco de dados.
Crie um novo usuário de serviço Snowflake com o tipo SERVICE.
Conceda ao usuário do serviço Snowflake a função que você criou nas etapas anteriores.
Configure com a autenticação de pares de chaves para o usuário do Snowflake SERVICE da etapa 2.
A Snowflake recomenda enfaticamente essa etapa. Configure um gerenciador de segredos compatível com o Openflow, por exemplo, AWS, Azure e Hashicorp, e armazene as chaves públicas e privadas no armazenamento de segredos.
Nota
Se, por algum motivo, você não quiser usar um gerenciador de segredos, será responsável por proteger os arquivos de chave pública e chave privada usados para autenticação de pares de chaves de acordo com as políticas de segurança de sua organização.
Depois que o gerenciador de segredos estiver configurado, determine como você se autenticará nele. No AWS, é recomendável que você use a função de instância EC2 associada ao Openflow, pois dessa forma nenhum outro segredo precisa ser mantido.
No Openflow, configure um provedor de parâmetros associado a esse gerenciador de segredos, no menu de três traços no canto superior direito. Navegue até Controller Settings » Parameter Provider e, em seguida, busque os valores dos parâmetros.
Nesse momento, todas as credenciais podem ser referenciadas com os caminhos de parâmetros associados e nenhum valor sensível precisa ser mantido no Openflow.
Se qualquer outro usuário Snowflake precisar de acesso aos documentos e tabelas brutos ingeridos pelo conector (por exemplo, para processamento personalizado no Snowflake), conceda a esses usuários a função criada na etapa 1.
Designar um warehouse para o conector usar. Comece com o menor tamanho de warehouse e, em seguida, experimente o tamanho, dependendo do número de tabelas sendo replicadas e da quantidade de dados transferidos. Os números de tabelas grandes normalmente são mais bem dimensionados com warehouses multicluster, em vez de warehouses maiores.
Configuração do conector¶
Como engenheiro de dados, execute as seguintes tarefas para instalar e configurar o conector:
Instalação do conector¶
Navegue até a página Visão geral do Openflow. Na seção Featured connectors, selecione View more connectors.
Na página de conectores do Openflow, localize o conector e selecione Add to runtime.
Na caixa de diálogo Select runtime, selecione seu tempo de execução na lista suspensa Available runtimes.
Selecione Add.
Nota
Antes de instalar o conector, verifique se você criou um banco de dados e um esquema no Snowflake para que o conector armazene os dados ingeridos.
Autentique-se na implementação com as credenciais de sua conta Snowflake e selecione Allow quando solicitado para permitir que o aplicativo de tempo de execução acesse sua conta Snowflake. O processo de instalação do conector leva alguns minutos para ser concluído.
Autentique-se no tempo de execução com as credenciais de sua conta Snowflake.
A tela do Openflow é exibida com o grupo de processos do conector adicionado a ela.
Configuração do conector¶
Preencher os parâmetros do grupo de processos
Clique com o botão direito do mouse no grupo de processos importado e selecione Parâmetros.
Preencha os valores de parâmetros necessários, conforme descrito em Parâmetros comuns.
Parâmetros comuns¶
Todas as variantes do conector Kafka compartilham contextos de parâmetro comuns para conectividade e autenticação básicas.
Parâmetros de destino do Snowflake¶
Parâmetro |
Descrição |
Obrigatório |
---|---|---|
Banco de dados de destino |
O banco de dados onde os dados serão mantidos. Ele já deve existir no Snowflake |
Sim |
Esquema de destino |
O esquema em que os dados serão mantidos. Ele já deve existir no Snowflake |
Sim |
Identificador de conta Snowflake |
Nome da conta Snowflake formatado como [organization-name]-[account-name] onde os dados serão mantidos |
Sim |
Estratégia de autenticação Snowflake |
Estratégia de autenticação para o Snowflake. Valores possíveis: SNOWFLAKE_SESSION_TOKEN quando estivermos executando o fluxo em SPCS, e KEY_PAIR quando quisermos definir o acesso usando a chave privada |
Sim |
Chave privada Snowflake |
A chave privada RSA utilizada para autenticação. A chave RSA deve ser formatada de acordo com os padrões PKCS8 e ter cabeçalhos e rodapés no padrão PEM. Observe que o arquivo de chave privada do Snowflake ou a chave privada do Snowflake devem ser definidos |
Não |
Arquivo de chave privada Snowflake |
O arquivo que contém a chave privada RSA usada para autenticação no Snowflake, formatado de acordo com os padrões PKCS8 e com cabeçalhos e rodapés no padrão PEM. A linha do cabeçalho começa com |
Não |
Senha de chave privada Snowflake |
A senha associada ao arquivo de chave privada Snowflake |
Não |
Função Snowflake |
Função Snowflake usada durante a execução da consulta |
Sim |
Nome de usuário do Snowflake |
Nome de usuário usado para se conectar à instância Snowflake |
Sim |
Warehouse Snowflake |
Warehouse Snowflake usado para executar consultas |
Sim |
Parâmetros de origem do Kafka (autenticação SASL)¶
Parâmetro |
Descrição |
Obrigatório |
---|---|---|
Protocolo de segurança do Kafka |
Protocolo de segurança usado para se comunicar com os corretores. Corresponde à propriedade security.protocol do cliente Kafka. Uma das seguintes opções: SASL_PLAINTEXT/SASL_SSL |
Sim |
Mecanismo Kafka SASL |
Mecanismo SASL usado para autenticação. Corresponde à propriedade sasl.mechanism do cliente Kafka. Uma das seguintes opções: PLAIN/SCRAM-SHA-256/SCRAM-SHA-512 |
Sim |
Nome de usuário Kafka SASL |
O nome de usuário para autenticação no Kafka |
Sim |
Senha Kafka SASL |
A senha para autenticação no Kafka |
Sim |
Servidores de bootstrap Kafka |
Uma lista de corretores Kafka separados por vírgulas para buscar dados, que deve conter a porta, por exemplo, kafka-broker:9092. A mesma instância é usada para o tópico DLQ. |
Sim |
Parâmetros de ingestão Kafka¶
Parâmetro |
Descrição |
Obrigatório |
---|---|---|
Formato do tópico Kafka |
Uma das seguintes opções: nomes/padrão. Especifica se os “tópicos Kafka” fornecidos são uma lista de nomes separados por vírgula ou uma única expressão regular. |
Sim |
Tópicos Kafka |
Uma lista separada por vírgulas de tópicos Kafka ou uma expressão regular. |
Sim |
ID do grupo Kafka |
O ID de um grupo de consumidores usado pelo conector. Pode ser arbitrário, mas deve ser exclusivo. |
Sim |
Redefinição automática de deslocamento do Kafka |
A configuração automática de deslocamento é aplicada quando não é encontrado nenhum deslocamento anterior do consumidor correspondente à propriedade Kafka |
Sim |
Mapa de tópicos para tabelas |
Esse parâmetro opcional permite que o usuário especifique quais tópicos devem ser mapeados para quais tabelas. Cada tópico e seu nome de tabela devem ser separados por dois pontos (ver exemplo abaixo). Este nome de tabela deve ser um identificador válido do Snowflake, sem aspas. As expressões regulares não podem ser ambíguas – qualquer tópico correspondente deve corresponder apenas a uma única tabela de destino. Se estiver vazio ou nenhuma correspondência for encontrada, o nome do tópico será usado como nome da tabela. Observação: o mapeamento não pode conter espaços após as vírgulas. |
Não |
Exemplo de valores de Topic To Table Map
:
topic1:low_range,topic2:low_range,topic5:high_range,topic6:high_range
topic[0-4]:low_range,topic[5-9]:high_range
.*:destination_table
– mapeia todos os tópicos para destination_table
Configure as definições específicas de variante¶
Após configurar os parâmetros comuns, você precisa definir as configurações específicas da variante de conector escolhida:
- Para os conectores Apache Kafka para o formato de dados JSON e Apache Kafka para o formato de dados AVRO:
Consulte Apache Kafka para o formato de dados JSON/AVRO para obter parâmetros específicos de JSON/AVRO.
- Para Apache Kafka com DLQ e conector de metadados:
Consulte Apache Kafka com DLQ e metadados para obter parâmetros avançados, incluindo a configuração de DLQ, configurações de esquematização, suporte à tabela Iceberg e opções de formato de mensagem.
Autenticação¶
Todas as variantes do conector oferecem suporte à autenticação SASL configurada por meio de contextos de parâmetros, conforme descrito em Parâmetros de origem do Kafka (autenticação SASL).
Para outros métodos de autenticação, incluindo mTLS e AWS MSK IAM, consulte Configure outros métodos de autenticação para o Openflow Connector para Kafka.
Execute o fluxo¶
Clique com o botão direito do mouse no plano e clique em Ativar todos os Controller Services.
Clique com o botão direito do mouse no plano e clique em Iniciar. O conector inicia a ingestão de dados.