Adicionar fonte Apache Kafka a um fluxo de eventos Fabric

Este artigo mostra-lhe como adicionar a fonte Apache Kafka a um evento stream do Fabric.

O Apache Kafka é uma plataforma distribuída de código aberto para a construção de sistemas de dados escaláveis e em tempo real. Ao integrar o Apache Kafka como fonte dentro do seu fluxo de eventos, pode trazer eventos em tempo real do seu Apache Kafka de forma fluida e processá-los antes de os encaminhar para múltiplos destinos dentro do Fabric.

Pré-requisitos

  • Acesso ao espaço de trabalho Fabric com permissões Contribuidor ou superiores.

  • Um cluster Apache Kafka em execução.

  • Seu Apache Kafka deve ser acessível publicamente e não estar protegido por um firewall ou protegido em uma rede virtual. Se residir numa rede protegida, conecte-se a ela usando a injeção virtual de rede do conector Eventstream.

  • Se planeia usar as definições TLS/mTLS, certifique-se de que os certificados necessários estão disponíveis num Azure Key Vault:

    • Importa os certificados necessários para Azure Key Vault no formato .pem.
    • O utilizador que configura a fonte e pré-visualiza os dados deve ter permissão para aceder aos certificados no Key Vault (por exemplo, Key Vault Utilizador do Certificado ou Key Vault Administrador).
    • Se o utilizador atual não tiver as permissões necessárias, os dados não podem ser pré-visualizados a partir desta fonte no Eventstream.

Adicionar Apache Kafka como fonte

Se ainda não adicionaste nenhuma fonte ao teu event stream, seleciona o mosaico Connect data sources . Também pode selecionar Adicionar fonte>Conectar fontes de dados na fita.

Captura de ecrã que mostra a seleção do tile para usar uma fonte externa.

Se estiveres a adicionar a fonte a um fluxo de eventos já publicado, muda para o modo Editar. Na fita, selecione Adicionar fonte>Ligar fontes de dados.

Captura de ecrã que mostra seleções para adicionar fontes externas.

Na página Selecione uma fonte de dados ou na página Fontes de dados, selecione Apache Kafka.

Captura de tela que mostra a seleção do Apache Kafka como o tipo de origem no assistente Obter eventos.

Configurar e conectar-se ao Apache Kafka

  1. Na página Conectar, selecione Nova conexão.

    Captura de tela que mostra a seleção do link Nova conexão na página Conectar do assistente Obter eventos.

  2. Na secção Definições de Ligação, em Bootstrap Server, introduza um ou mais endereços de servidores de bootstrap Kafka. Separe múltiplos endereços com vírgulas (,).

    Captura de tela que mostra a seleção do campo Servidor Apache Kafka Bootstrap na página de Conexão do assistente Obter eventos.

  3. Na seção Credenciais de conexão , Se você tiver uma conexão existente com o cluster Apache Kafka, selecione-a na lista suspensa para Conexão. Caso contrário, siga estes passos:

    1. Em Nome da conexão, insira um nome para a conexão.
    2. Para Tipo de autenticação, confirme se a opção Chave de API está selecionada.
    3. Em Chave e Segredo, insira Chave da API e Segredo da chave.

      Observação

      Se só usares mTLS para fazer a autenticação, podes adicionar qualquer string na secção de Chaves durante a criação da ligação.

  4. Selecione Conectar. 

  5. Agora, na página Conectar, siga estas etapas.

    1. Em Tópico, insira o tópico Kafka.

    2. Em Grupo de consumidores, insira o grupo de consumidores do seu cluster Apache Kafka. Este campo fornece-lhe um grupo de consumidores dedicado para receber eventos.

    3. Selecione Redefinir deslocamento automático para especificar por onde começar a ler deslocamentos se não houver confirmação.

    4. Para protocolo de segurança, selecione uma das seguintes opções:

      • SASL_SSL: Use esta opção quando o seu cluster Kafka usar autenticação baseada em SASL. Por defeito, o certificado do servidor do corretor Kafka deve ser assinado por uma Autoridade Certificadora (CA) incluída na lista de CA de confiança. Se o teu cluster Kafka usar uma CA personalizada, podes configurá-la usando definições TLS/mTLS.
      • SSL (mTLS): Use esta opção quando o seu cluster Kafka necessitar de autenticação mTLS, e deve configurar tanto um certificado CA de servidor personalizado como um certificado de cliente nas definições TLS/mTLS.
    5. O mecanismo SASL padrão é normalmente PLAIN, a menos que configurado de outra forma. Você pode selecionar o mecanismo SCRAM-SHA-256 ou SCRAM-SHA-512 que atenda aos seus requisitos de segurança.

    6. Se o seu cluster Kafka usa uma CA personalizada ou requer mTLS, expanda as definições de TLS/mTLS e configure as seguintes opções conforme necessário:

      • Confiar no certificado da CA: Ative esta opção para configurar o certificado da CA do servidor. Selecione a sua subscrição, grupo de recursos e cofre de chaves, e depois forneça o nome do certificado.
      • Certificado e chave do cliente: Ative esta opção para configurar o certificado e a chave do cliente.
        • Use o mesmo cofre de chaves de certificados CA: Selecione esta caixa de seleção quando ambos os certificados estiverem armazenados no mesmo cofre de chaves. Depois fornece o nome do certificado.
        • Se não selecionar esta caixa, selecione a subscrição, o grupo de recursos e o cofre de chaves, e depois forneça o nome do certificado.

      Observação

      Para fontes numa rede privada, certifique-se de que o Azure Key Vault que contém os seus certificados está ligado à rede virtual Azure usada pelo gateway de dados da rede virtual de streaming para a injeção virtual de rede do conector Eventstream (por exemplo, através de um endpoint privado).

    Captura de tela que mostra a primeira página das configurações de conexão do Apache Kafka.

Requisitos do certificado TLS/mTLS

Se configurou as definições TLS/mTLS, consulte esta secção para especificações de formato de certificado e erros comuns de configuração ao carregar para Azure Key Vault.

Cadeia de certificados

Certificate Tamanho da chave Assinado por Purpose
Certificado da autoridade de certificação RSA de 4096 bits Auto-assinado Âncora de confiança – o agente verifica os certificados do cliente em relação a esta autoridade certificadora (CA).
Certificado do servidor RSA de 2048 bits AC Identidade do corretor – o cliente verifica se o corretor é quem afirma ser.
Certificado de cliente RSA de 2048 bits AC Identidade do cliente - o corretor verifica que o conector está autorizado.

Requisitos de certificado de servidor para SAN

O certificado do servidor deve incluir o endereço IP do intermediário e o nome DNS no Nome Alternativo do Sujeito (SAN) para passar a verificação do nome do host (ssl.endpoint.identification.algorithm=https):

subjectAltName:
  DNS.1 = {broker FQDN}
  DNS.2 = localhost
  IP.1  = {broker public IP}
  IP.2  = 127.0.0.1

Carregar certificados no Azure Key Vault

Os certificados são carregados como Azure Key Vault objetos de certificação no formato PEM. O ficheiro do pacote PEM é certificado + chave privada concatenados num único ficheiro:

-----BEGIN CERTIFICATE-----
MIIExjCCA...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIB...
-----END RSA PRIVATE KEY-----

Utilize uma política de importação que corresponda às principais propriedades:

{
  "secretProperties": {
    "contentType": "application/x-pem-file"
  },
  "keyProperties": {
    "exportable": true,
    "keyType": "RSA",
    "keySize": 4096,
    "reuseKey": false
  },
  "issuerParameters": {
    "name": "Unknown"
  }
}

Para importar o certificado, execute o seguinte comando:

az keyvault certificate import \
  --vault-name {kvName} \
  --name {certName} \
  --file {pemBundleFile} \
  --policy @{policyFile}

Erros comuns

Evite Faz isto em vez disso
Carregar como PKCS#12/PFX Use o formato PEM com contentType: application/x-pem-file.
Certificado de upload sem chave privada O pacote PEM deve conter tanto o certificado como a chave.
Configurar keySize: 2048 para uma chave de 4096 bits O keySize valor deve corresponder ao tamanho real da chave.
Definir issuerParameters.name: "Self" Use "Unknown" para certificados assinados externamente.
Usar terminações de linha Windows (CRLF) O ficheiro PEM deve usar terminações de linha Unix (apenas LF).

Ver fluxo de eventos atualizado

Você pode ver a fonte Apache Kafka adicionada ao seu fluxo de eventos no modo de edição. 

Captura de tela que mostra a fonte Apache Kafka no modo de exibição Editar.

Depois de concluir essas etapas, a fonte Apache Kafka estará disponível para visualização na Visualização dinâmica.

Captura de tela que mostra a fonte do Apache Kafka na Visualização dinâmica.

Observação

Para visualizar eventos dessa fonte do Apache Kafka, verifique se a chave usada para criar a conexão na nuvem tem permissão de leitura para grupos de consumidores prefixados com "preview-".

Para a fonte Apache Kafka, apenas mensagens no formato JSON podem ser visualizadas.

Captura de tela que mostra a visualização de dados de origem do Apache Kafka.

Outros conectores: