Compartilhar via


Adicionar fonte da CDA do Banco de Dados SQL do Azure a um eventstream

Este artigo mostra como adicionar uma fonte da captura de dados de alterações (CDA) do Banco de Dados SQL do Azure a um eventstream.

O conector de origem da CDA do Banco de Dados SQL do Azure para fluxos de eventos do Microsoft Fabric permite a captura de um instantâneo dos dados atuais em um banco de dados SQL do Azure. Em seguida, o conector monitora e registra quaisquer alterações futuras no nível da linha nesses dados. Depois que as alterações forem capturadas no eventstream, você poderá processar esses dados da CDA em tempo real e enviá-los a diferentes destinos no Fabric para processamento ou análise adicionais.

Pré-requisitos

  • Acesso a um espaço de trabalho no modo de licença de capacidade do Fabric (ou) no modo de licença de Avaliação com permissões de Colaborador ou superior.
  • Um SQL Server do Azure em execução com um Banco de Dados SQL do Azure.
  • O banco de dados SQL do Azure precisa ser acessível publicamente e não pode estar protegido por um firewall ou em uma rede virtual do Azure.
  • CDA habilitada no Banco de Dados SQL do Azure via execução do procedimento armazenado sys.sp_cdc_enable_db. Para obter detalhes, confira Habilitar e desabilitar a captura de dados de alterações.
  • Caso não tenha um Eventstream, crie um Eventstream.

Observe que você não deve habilitar o espelhamento no banco de dados SQL do Azure.

Habilite a CDA para o Banco de Dados SQL do Azure

  1. Acesse o portal do Azure, abra seu banco de dados SQL do Azure e selecione Editor de consultas. Escolha um método de autenticação para fazer logon.

    Captura de tela da abertura do banco de dados SQL do Azure.

  2. Execute os seguintes comandos SQL para habilitar o CDC em seu banco de dados:

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

Iniciar o assistente Selecionar uma fonte de dados

Se você ainda não adicionou nenhuma fonte ao fluxo de eventos, selecione o bloco Usar o código-fonte externo .

Captura de tela que mostra a seleção do bloco para usar uma origem externa.

Se você estiver adicionando a origem a um fluxo de eventos já publicado, alterne para modo de edição. Na faixa de opções, selecione Adicionar origem>Fontes externas.

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

Na página Selecionar uma fonte de dados, pesquise e selecione Conectar no bloco Banco de dados SQL do Azure (CDC).

Captura de tela que mostra a seleção do Banco de dados SQL do Azure (CDC) como o tipo de fonte no assistente Obter eventos.

Configuração e conexão à CDA do Banco de Dados SQL do Azure.

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

    Captura de tela mostrando a página Conectar do assistente Obter eventos com o link **Nova conexão** em destaque.

  2. Na seção Configurações de conexão, insira os seguintes valores para o Banco de Dados SQL do Azure:

    • Servidor: insira o nome do servidor do SQL do Azure do Portal do Azure. Está neste formato: mysqlservername.database.windows.net.

    • Banco de dados: insira o nome do Banco de Dados SQL do Azure do portal do Azure.

      Captura de tela mostrando a seção Configurações de conexão da página Nova conexão.

  3. Role para baixo e, na seção Credenciais de conexão, siga as etapas a seguir.

    • Em Nome da conexão, insira um nome para a conexão.

    • Em Variante de autenticação, selecione Básico.

      Observação

      Atualmente, o Fabric Eventstream dá suporte apenas à autenticação Básica .

    • Insira o Nome de usuário e a Senha do banco de dados.

  4. Selecione Conectar.

    Captura de tela mostrando a seção Credenciais de conexão da página Nova conexão.

  5. Agora, na página Conectar, selecioneTodas as tabelas ou Insira os nomes da tabela. Se você selecionar o último, especifique tabelas usando uma lista separada por vírgulas de identificadores de tabela completos (schemaName.tableName) ou expressões regulares válidas. Por exemplo:

    • Use dbo.test.* para selecionar todas as tabelas cujos nomes começam com dbo.test.
    • Use dbo\.(test1|test2) para selecionar dbo.test1 e dbo.test2.

    Você pode misturar ambos os formatos usando vírgulas. O limite total de caracteres para toda a entrada é de 102.400 caracteres .

  6. Você pode expandir as configurações avançadas para acessar opções de configuração adicionais para a fonte CDC do Banco de Dados SQL do Azure:

    • Modo de tratamento decimal: define como o conector manipula DECIMAL e NUMERIC valores de coluna:
      • Precise: representa valores usando tipos decimais exatos (por exemplo, Java BigDecimal) para garantir a precisão total e a precisão na representação de dados.
      • Double: converte valores em números de ponto flutuante de precisão dupla. Essa configuração melhora a usabilidade e o desempenho, mas pode resultar em uma perda de precisão.
      • String: codifica valores como cadeias de caracteres formatadas. Essa configuração facilita o consumo em sistemas downstream, mas perde informações semânticas sobre o tipo numérico original.
    • Modo de instantâneo: especifique os critérios para executar um instantâneo quando o conector for iniciado:
      • Initial: O conector executa um instantâneo somente quando nenhum offset foi registrado para o nome do servidor lógico ou se ele detecta que um instantâneo anterior não foi concluído. Após a conclusão do instantâneo, o conector começa a transmitir registros de eventos para alterações subsequentes no banco de dados.
      • InitialOnly: O conector executa um instantâneo apenas quando nenhum deslocamento foi registrado para o nome do servidor lógico. Depois que o instantâneo for concluído, o conector para. Ele não muda para o modo de streaming para ler eventos de mudança do binlog.
      • NoData: o conector executa um instantâneo que captura apenas o esquema, mas não qualquer dado de tabela. Defina essa opção se você não precisar de um instantâneo consistente dos dados, mas precisar apenas das alterações que estão acontecendo desde que o conector seja iniciado.
    • Lista de exclusão de coluna: especifica colunas a serem excluídas dos valores de evento de alteração usando nomes totalmente qualificados (schemaName.tableName.columnName).
    • ApplicationIntent do banco de dados: determina o comportamento de roteamento em grupos de disponibilidade Always On do SQL Server.
      • ReadWrite: conecta-se à réplica primária. Use isso se a conexão precisar executar operações de leitura e gravação.
      • ReadOnly: permite o roteamento para uma réplica secundária legível para operações de leitura apenas. Use-o para habilitar o CDC diretamente em réplicas. Ele requer configurar snapshot.isolation.mode como snapshot, que é o único modo de isolamento de transação com suporte para réplicas somente leitura.
    • Substituição da instrução de seleção de instantâneo: use a propriedade se desejar que um instantâneo inclua apenas um subconjunto de linhas em uma tabela. Essa propriedade afeta somente instantâneos. Ele não se aplica a eventos que o conector lê do log.
  7. Selecione Avançar.

    Captura de tela mostrando a página Conectar do assistente Obter eventos preenchida.

  8. Na tela Revisar e criar, revise o resumo e selecione Adicionar.

    Captura de tela mostrando a página Revisar e criar do assistente Obter eventos preenchida.

Ingerir dados de alteração de bancos de dados SQL do Azure com registro automático de esquema de tabela via CDC em Eventstream.

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

    Captura de tela que mostra a página Connect do assistente de eventos com o link

  2. Na seção Configurações de conexão, insira os seguintes valores para o Banco de Dados SQL do Azure:

    • Servidor: insira o nome do servidor do SQL do Azure do Portal do Azure. Está neste formato: mysqlservername.database.windows.net.

    • Banco de dados: insira o nome do Banco de Dados SQL do Azure do portal do Azure.

      Captura de tela mostrando a seção Configurações de conexão da página Nova conexão.

  3. Role para baixo e, na seção Credenciais de conexão, siga as etapas a seguir.

    • Em Nome da conexão, insira um nome para a conexão.

    • Em Variante de autenticação, selecione Básico.

      Observação

      Atualmente, o Fabric Eventstream dá suporte apenas à autenticação Básica .

    • Insira o Nome de usuário e a Senha do banco de dados.

  4. Selecione Conectar.

    Captura de tela mostrando a seção Credenciais de conexão da página Nova conexão.

  5. Agora, na página Conectar, selecioneTodas as tabelas ou Insira os nomes da tabela. Se você selecionar o último, especifique tabelas usando uma lista separada por vírgulas de identificadores de tabela completos (schemaName.tableName) ou expressões regulares válidas. Por exemplo:

    • Use dbo.test.* para selecionar todas as tabelas cujos nomes começam com dbo.test.
    • Use dbo\.(test1|test2) para selecionar dbo.test1 e dbo.test2.

    Você pode misturar ambos os formatos usando vírgulas. O limite total de caracteres para toda a entrada é de 102.400 caracteres .

  6. Você pode expandir as configurações avançadas para acessar opções de configuração adicionais para a fonte CDC do Banco de Dados SQL do Azure:

    • Modo de tratamento decimal: define como o conector manipula DECIMAL e NUMERIC valores de coluna:
      • Precise: representa valores usando tipos decimais exatos (por exemplo, Java BigDecimal) para garantir a precisão total e a precisão na representação de dados.
      • Double: converte valores em números de ponto flutuante de precisão dupla. Essa configuração melhora a usabilidade e o desempenho, mas pode resultar em uma perda de precisão.
      • String: codifica valores como cadeias de caracteres formatadas. Essa configuração facilita o consumo em sistemas downstream, mas perde informações semânticas sobre o tipo numérico original.
    • Modo de instantâneo: especifique os critérios para executar um instantâneo quando o conector for iniciado:
      • Initial: O conector executa um instantâneo somente quando nenhum offset foi registrado para o nome do servidor lógico ou se ele detecta que um instantâneo anterior não foi concluído. Após a conclusão do instantâneo, o conector começa a transmitir registros de eventos para alterações subsequentes no banco de dados.
      • InitialOnly: O conector executa um instantâneo apenas quando nenhum deslocamento foi registrado para o nome do servidor lógico. Depois que o instantâneo for concluído, o conector para. Ele não muda para o modo de streaming para ler eventos de mudança do binlog.
      • NoData: o conector executa um instantâneo que captura apenas o esquema, mas não qualquer dado de tabela. Defina essa opção se você não precisar de um instantâneo consistente dos dados, mas precisar apenas das alterações que estão acontecendo desde que o conector seja iniciado.
    • Lista de exclusão de coluna: especifica colunas a serem excluídas dos valores de evento de alteração usando nomes totalmente qualificados (schemaName.tableName.columnName).
    • ApplicationIntent do banco de dados: determina o comportamento de roteamento em grupos de disponibilidade Always On do SQL Server.
      • ReadWrite: conecta-se à réplica primária. Use isso se a conexão precisar executar operações de leitura e gravação.
      • ReadOnly: permite o roteamento para uma réplica secundária legível para operações de leitura apenas. Use-o para habilitar o CDC diretamente em réplicas. Ele requer configurar snapshot.isolation.mode como snapshot, que é o único modo de isolamento de transação com suporte para réplicas somente leitura.
    • Substituição da instrução de seleção de instantâneo: use a propriedade se desejar que um instantâneo inclua apenas um subconjunto de linhas em uma tabela. Essa propriedade afeta somente instantâneos. Ele não se aplica a eventos que o conector lê do log.
  7. Habilitar a associação de esquema de eventos.

  8. Para o Workspace, selecione um workspace do Fabric para o conjunto de esquemas.

  9. Para o conjunto de esquemas, + Criar é selecionado por padrão, o que cria um novo conjunto de esquemas. Você pode alterá-lo para selecionar um conjunto de esquemas de eventos existente.

  10. Se você selecionou a opção + Criar na etapa anterior, insira um nome para o conjunto de esquemas.

    Captura de tela que mostra a configuração do esquema para uma origem CDC do Banco de Dados SQL do Azure.

  11. Na página Revisar + conectar, selecione Adicionar.

    Captura de tela que mostra a página revisão + conexão da origem CDC do Banco de Dados SQL do Azure.

    Para todas as tabelas ou tabelas selecionadas no banco de dados SQL do Azure, o conector faz descobertas automáticas e cria esquemas e as registra no registro de esquema.

  12. Selecione o nó eventstream no meio e alterne para a guia Esquemas associados no painel inferior.

    Captura de tela que mostra a janela de esquema associada no painel inferior.

Conjunto de esquemas

  1. Navegue até o workspace selecionado na etapa anterior. No exemplo a seguir, é Meu workspace.

  2. Selecione o conjunto de esquemas que o conector CDC (Banco de Dados SQL do Azure) criou.

    Captura de tela que mostra o conjunto de esquemas gerado na página Meu workspace.

  3. Você verá os esquemas no conjunto de esquemas, conforme mostrado na imagem a seguir.

    Captura de tela que mostra esquemas no conjunto de esquemas gerado.

  4. Para ver a versão JSON do esquema, alterne para o modo de exibição de esquema JSON .

    Captura de tela que mostra o modo de exibição de esquema JSON.

    Não altere esses esquemas descobertos usando este editor, pois ele se torna não conformante com o esquema de tabelas do banco de dados SQL do Azure como fonte.

Exibir Eventstream atualizado

  1. Você pode ver a fonte do Banco de Dados SQL do Azure (CDA) adicionada ao eventstream no Modo de edição.

    Captura de tela do streaming da fonte da CDA do Banco de Dados SQL do Azure no Modo de exibição de edição.

  2. Para implementar essa fonte recém-adicionada da CDA do Banco de Dados SQL do Azure, escolha Publicar. Depois de concluir essas etapas, a fonte da CDA do Banco de Dados SQL do Azure estará disponível para visualização na Exibição ao vivo.

    Captura de tela da fonte de CDC do Banco de Dados SQL do Azure transmitindo na Exibição ao vivo.

Configurar destinos de fluxo de eventos para usar esquemas

Atualmente, apenas o eventhouse, o endpoint personalizado e os destinos de streams derivados têm suporte para fluxos de eventos com recursos estendidos habilitados. Esta seção mostra como adicionar e configurar um destino de casa de eventos quando recursos estendidos (como suporte a esquema) estiverem habilitados para o fluxo de eventos.

Configurar um schema para um destino de endpoint personalizado

  1. Selecione Transformar eventos ou adicionar destino e selecione CustomEndpoint.

  2. No painel ponto de extremidade personalizado , especifique um nome para o destino.

  3. Para o esquema de entrada, selecione o esquema para eventos. Você faz uma seleção nesta caixa ao habilitar o suporte de esquema para um fluxo de eventos.

Captura de tela que mostra o painel para configurar um ponto de extremidade personalizado.

Para obter etapas detalhadas sobre como configurar um destino de ponto de extremidade personalizado, consulte Adicionar um ponto de extremidade personalizado ou um destino de aplicativo personalizado a um fluxo de eventos.

Configurar esquemas para um destino de gerenciamento de eventos

  1. Selecione Transformar eventos ou adicionar destino e selecione Eventhouse.

  2. No painel Eventhouse , defina as seguintes configurações relacionadas ao esquema:

    1. Para o esquema de entrada, selecione um ou mais esquemas na lista suspensa.

      Captura de tela que mostra o painel de configuração do eventhouse com um esquema de entrada selecionado.

      Observação

      Se você selecionou o esquema dinâmico por meio da opção de cabeçalhos ao configurar uma origem dos Hubs de Eventos, talvez tenha configurado vários esquemas para a origem e mapeado-os para várias propriedades e seus valores.

    2. Para o método de criação de tabela, selecione Uma única tabela com todos os esquemas combinados ou tabelas separadas para cada esquema, dependendo de seus requisitos.

      Captura de tela que mostra o painel de configuração do eventhouse com métodos de criação de tabela.

    3. Para gravar dados com, selecione uma das seguintes opções:

      • Apenas carga útil: Escreva dados de carga útil extraídos na tabela. Se houver vários esquemas de entrada, os dados serão enviados para várias tabelas.
      • Metadados e payload: Gravar metadados e dados de payload em uma única tabela. As colunas de exemplo incluem source , subjecte typedata.

      Captura de tela que mostra o painel de configuração do eventhouse com as opções para gravar dados.

Para obter etapas detalhadas sobre como configurar um destino de casa de eventos, consulte Adicionar um destino de casa de eventos a um fluxo de eventos.

Outros conectores: