Adicionar origem CDC de Azure SQL Managed Instance a um fluxo de eventos

Este artigo mostra como adicionar uma fonte de Change Data Capture (CDC) de Azure SQL Managed Instance a um fluxo de eventos.

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

Observação

Com DeltaFlow (versão prévia), você pode transformar eventos brutos de CDC do Debezium em fluxos prontos para análise que espelham a estrutura de sua tabela de origem. O DeltaFlow automatiza o registro de esquema, o gerenciamento de tabela de destino e o tratamento da evolução do esquema. Para usar o DeltaFlow, escolha eventos prontos para análise e esquema atualizado automaticamente durante a etapa de tratamento de esquema.

Pré-requisitos

  • Acesso a um espaço de trabalho no modo de licença de capacidade Fabric ou no modo de licença de avaliação, com permissões de colaborador ou superiores.
  • Um banco de dados Azure SQL Managed Instance em execução.
  • Seu Azure SQL Managed Instance deve habilitar um endpoint público e não ficar atrás de um firewall ou ser protegido em uma rede virtual. Se ele não habilitar o ponto de extremidade público e estiver em uma rede protegida, conecte-se a ele usando a injeção de rede virtual do conector Eventstream.
  • O CDC foi habilitado na sua instância gerenciada do Azure SQL ao executar o procedimento armazenado sys.sp_cdc_enable_db. Para obter detalhes, confira Habilitar e desabilitar a captura de dados de alterações.

Habilitar o endpoint público na sua instância gerenciada do Azure SQL

Acesse o portal Azure, abra sua instância gerenciada Azure SQL, selecione Networking e habilite o ponto de extremidade público.

Captura de tela que mostra a página Rede com a opção de ponto de extremidade público habilitada.

Habilitar o CDC em sua instância gerenciada de Azure SQL

  1. Habilite o CDC para o banco de dados.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Habilite a Captura de Dados de Alteração (CDA) para uma tabela usando uma opção de função de controle. Neste exemplo, MyTable é o nome da tabela SQL.

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

    Depois que a consulta for executada com êxito, você habilitou o CDC em sua instância gerenciada Azure SQL.

    Uma captura de tela mostrando o CDC habilitado.

Adicionar Azure SQL Managed Instance CDC como uma origem

Se você ainda não adicionou nenhuma fonte ao fluxo de eventos, selecione o bloco Conectar fontes de dados . Você também pode selecionar Adicionar fonte>Conectar fontes de dados na faixa de opções.

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

Se você estiver adicionando a origem a um fluxo de eventos já publicado, alterne para o modo Editar. Na faixa de opções, selecione Adicionar fonte>Conectar fontes de dados.

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

Na página Selecione uma fonte de dados, pesquise e selecione Conectar no bloco Azure SQL MI Database (DB) Change Data Capture (CDC).

Configurar e conectar-se ao CDC Azure SQL Managed Instance

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

Observação

DeltaFlow (versão prévia): quando você seleciona eventos prontos para análise e esquema atualizado automaticamente na etapa de tratamento de esquema, o DeltaFlow transforma eventos brutos do Debezium CDC em fluxos prontos para análise que espelham sua estrutura de tabela de origem. O DeltaFlow também automatiza a criação da tabela de destino e a manipulação da evolução do esquema.

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

    Captura de tela que mostra a seleção do novo link de conexão na página Conectar.

  2. Na seção Conexão, insira os seguintes valores para o Azure SQL Managed Instance:

    • Server: Insira o ponto de extremidade do portal Azure, substituindo a vírgula entre o host e a porta por dois pontos. Por exemplo, se o Ponto de Extremidade for xxxxx.public.xxxxxx.database.windows.net,3342, insira xxxxx.public.xxxxxx.database.windows.net:3342 no campo Servidor.

      Captura de tela que mostra a página de rede com as informações do endpoint.

    • Database: Insira o nome do banco de dados ao qual você deseja se conectar em seu Azure SQL Managed Instance.

      Captura de tela que mostra a seção Configurações de conexão da página Conectar.

  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, Fabric Eventstream dá suporte apenas à autenticação Basic.

    • Insira Username e Password para o Azure SQL Managed Instance.

  4. Na parte inferior da página, selecione Conectar.

  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 combinar os dois formatos na lista. O limite total de caracteres para toda a entrada é de 102.400 caracteres .

  6. Expanda as configurações avançadas para configurar o modo de tratamento Decimal, que especifica 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 opçã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 opção facilita o consumo em sistemas downstream, mas perde informações semânticas sobre o tipo numérico original.

Detalhes do fluxo ou da origem

  1. Na página Conectar , siga uma destas etapas com base em se você está usando o Eventstream ou Real-Time hub.

    • Fluxo de eventos:

      No painel Detalhes da origem à direita, siga estas etapas:

      1. Para Fonte, selecione o botão Lápis para alterar o nome.

      2. Observe que o nome do fluxo de eventos e o nome do fluxo são somente leitura.

    • Real-Time hub:

      Na seção Detalhes de streaming à direita, siga estas etapas:

      1. Selecione o workspace Fabric em que deseja criar o fluxo de eventos.

      2. Para nome do Eventstream, selecione o botão Lápis e insira um nome para o Eventstream.

      3. O valor do nome do Stream é gerado automaticamente para você acrescentando -stream ao nome do fluxo de eventos. Esse fluxo aparece na página Todos os fluxos de dados do hub em tempo real quando a execução do assistente é finalizada.

  2. Selecione Avançar na parte inferior da página Configurar .

Examinar e conectar

Na tela Examinar + conectar, examine o resumo e selecione Adicionar (Eventstream) ou Conectar (Real-Time Hub).

Página de tratamento de esquema

  1. Na etapa de tratamento de esquema , escolha uma das seguintes opções:

    • Eventos prontos para análise e esquema atualizado automaticamente (Versão Prévia do DeltaFlow): o conector transforma eventos CDC brutos em fluxos prontos para análise que espelham sua estrutura de tabela de origem. O DeltaFlow enriquece eventos com metadados, como tipo de alteração (inserir, atualizar ou excluir) e carimbos de data/hora, e gerencia automaticamente tabelas de destino e evolução do esquema.
    • Eventos CDC brutos: o conector ingere e disponibiliza os eventos CDC brutos. Opcionalmente, o conector pode fazer a descoberta automática de esquemas de tabela e registrá-los no registro de esquema. Use essa opção quando desejar reconhecimento de esquema sem a transformação DeltaFlow.

    Observação

    A captura de tela a seguir mostra Azure SQL Database CDC. As opções de tratamento de esquema são as mesmas para todos os conectores de origem suportados pelo CDC.

    Captura de tela mostrando a etapa de tratamento de esquema com opções de evento DeltaFlow e CDC bruto para um conector de origem CDC.

  2. Habilitar a associação de esquema de eventos.

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

  4. 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.

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

  6. Na página Revisar + conectar, examine o resumo e selecione Adicionar (Eventstream) ou Conectar (Real-Time Hub).

    Captura de tela que mostra a seleção do botão Adicionar.

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

DeltaFlow: transformação de evento pronto para análise (versão prévia)

Quando você habilita eventos prontos para análise e esquema atualizado automaticamente (DeltaFlow), o conector fornece os seguintes recursos:

  • Forma de evento pronta para análise: os eventos CDC brutos do Debezium são transformados em um formato tabular que espelha a estrutura da tabela de origem. Os eventos são enriquecidos com colunas de metadados, incluindo o tipo de alteração (insertou updatedelete) e o carimbo de data/hora do evento.
  • Gerenciamento automático de tabela de destino: quando você roteia fluxos habilitados para DeltaFlow para um destino com suporte, como uma casa de eventos, as tabelas de destino são criadas automaticamente para corresponder ao esquema da tabela de origem. Você não precisa criar ou configurar manualmente tabelas de destino.
  • Tratamento da evolução do esquema: quando as tabelas de banco de dados de origem são alteradas (por exemplo, novas colunas são adicionadas ou tabelas são criadas), o DeltaFlow detecta automaticamente as alterações, atualiza os esquemas registrados e ajusta as tabelas de destino adequadamente. Essa opção minimiza a intervenção manual causada por alterações de esquema.

Observação

Atualmente, o DeltaFlow (versão prévia) é compatível com os conectores de origem CDC do Azure SQL Database, Azure SQL Managed Instance, SQL Server em VM, e do PostgreSQL.

Para obter detalhes sobre como o DeltaFlow transforma eventos CDC brutos em saída pronta para análise, incluindo tipos de operação e colunas de metadados, consulte a transformação de saída DeltaFlow.

Exibir o Eventstream atualizado

Você pode ver a fonte Azure SQL MI DB (CDC) adicionada ao fluxo de eventos no modo Edit.

Uma captura de tela da fonte CDC do Azure SQL MI DB adicionada no modo Editar com recursos estendidos.

Para implementar essa fonte de Azure SQL Managed Instance recém-adicionada, selecione Publish. Depois de concluir essas etapas, sua fonte de Azure SQL Managed Instance estará disponível para visualização no modo de exibição Live.

Captura de tela da fonte CDC do MI DB Azure SQL adicionada no modo de visualização ao vivo com recursos estendidos.

Configurar destinos Eventstream para usar esquemas

Atualmente, há suporte apenas para Eventhouse, ponto de extremidade personalizado e destinos de fluxo derivado para Eventstreams com esquemas associados. Esta seção mostra como adicionar e configurar um destino eventhouse quando recursos estendidos (como suporte a esquema) estiverem habilitados para o fluxo de eventos.

Observação

Quando você usa o DeltaFlow (versão prévia) com uma origem CDC (Captura de Dados de Alteração) com suporte, as tabelas de destino no Eventhouse são criadas automaticamente e gerenciadas para corresponder à estrutura da tabela de origem. Você não precisa configurar manualmente o esquema da tabela de destino. O DeltaFlow também lida com a evolução do esquema automaticamente quando as tabelas de origem são alteradas.

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 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.

Exibir a saída pronta para análise do DeltaFlow (versão prévia)

Se você habilitou eventos prontos para análise e esquema atualizado automaticamente (DeltaFlow), as tabelas de destino serão criadas automaticamente em uma forma que espelha as tabelas de banco de dados de origem. Cada tabela inclui as colunas originais junto com colunas de metadados para o tipo de alteração e o carimbo de data/hora.

Observação

A captura de tela a seguir mostra Azure SQL Database CDC. A saída da tabela de destino DeltaFlow é a mesma para todos os conectores de origem CDC com suporte.

Captura de tela mostrando as tabelas de destino eventhouse criadas pelo DeltaFlow em forma pronta para análise.

Você pode consultar essas tabelas usando a KQL (Linguagem de Consulta kusto) ou outras ferramentas de análise sem a necessidade de analisar cargas brutas de CDC do Debezium.

Outros conectores: