Adicionar Azure SQL Managed Instance CDC source a um eventstream

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

O conector fonte Azure SQL Managed Instance CDC para fluxos de eventos Microsoft Fabric permite capturar um instantâneo dos dados atuais numa base de dados SQL Managed Instance. Em seguida, o conector observa e regista quaisquer alterações futuras ao nível de linha nesses dados. Depois de capturadas as alterações no fluxo de eventos, pode processar estes dados CDC em tempo real e enviá-los para diferentes destinos dentro do Fabric para processamento ou análise posterior.

Observação

Com o DeltaFlow (Pré-visualização), pode transformar eventos Debezium CDC brutos em fluxos prontos para análise que espelham a estrutura da sua tabela de fonte. O DeltaFlow automatiza o registo de esquemas, a gestão de tabelas de destino e o tratamento da evolução do esquema. Para usar o DeltaFlow, escolha eventos prontos para análises e esquema auto-atualizado durante a etapa de gestão do 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 teste, com permissões de contribuidor ou superiores.
  • Uma base de dados Azure SQL Managed Instance em execução.
  • A sua Azure SQL Managed Instance deve ativar endpoints públicos e não estar atrás de firewalls ou protegida numa rede virtual. Se não ativar o endpoint público e estiver numa rede protegida, ligue-se a ele usando a injeção virtual de rede do conector Eventstream.
  • O CDC é ativado na sua Azure SQL Managed Instance executando o procedimento armazenado sys.sp_cdc_enable_db. Para obter detalhes, consulte Habilitar e desabilitar a captura de dados de alteração.

Ative o endpoint público na sua instância gerida do Azure SQL

Vai ao portal Azure, abre a tua instância Azure SQL gerida, seleciona Networking e ativa o endpoint público.

Captura de ecrã que mostra a página de Rede com a opção de Ponto de Extremidade Público ativada.

Ative o CDC na sua instância gerida de Azure SQL

  1. Ativar o CDC para o banco de dados.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Ative o CDC para uma tabela usando uma opção de função de controlo de acesso. 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 de a consulta ser executada com sucesso, ativaste o CDC na tua instância gerida do Azure SQL.

    Uma captura de ecrã mostrando o CDC ativado.

Adicionar Azure SQL Managed Instance CDC 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, procure e selecione Conectar no bloco Azure SQL MI Database (DB) Change Data Capture (CDC).

Configurar e ligar-se ao Azure SQL Managed Instance CDC

Ingerir dados de alteração de bases de dados do Azure SQL Managed Instance com registo automático de esquemas de tabela via CDC para o Eventstream.

Observação

DeltaFlow (Visualização): Quando seleciona eventos prontos para análise e esquema auto-atualizado na etapa de gestão do esquema, o DeltaFlow transforma os eventos brutos do Debezium CDC em fluxos prontos para análise que espelham a estrutura da sua tabela de origem. A DeltaFlow também automatiza a criação de tabelas de destino e o tratamento da evolução de esquemas.

  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.

  2. Na secção Definições de Ligação, introduza os seguintes valores para a sua Azure SQL Managed Instance:

    • Server: Introduza o Endpoint a partir do portal Azure, substituindo a vírgula entre o host e a porta por dois pontos. Por exemplo, se o seu Endpoint for xxxxx.public.xxxxxx.database.windows.net,3342, então deverá introduzir xxxxx.public.xxxxxx.database.windows.net:3342 no campo Servidor.

      Captura de ecrã que mostra a página de Rede com informações do Endpoint.

    • Database: Introduza o nome da base de dados à qual pretende ligar-se na sua Azure SQL Managed Instance.

      Captura de ecrã que mostra a secção Configurações de Conexão da página de Conexão.

  3. Role para baixo e, na secção Credenciais de conexão, siga estas etapas.

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

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

      Observação

      Atualmente, Fabric Eventstream suporta apenas autenticação Basic.

    • Introduza Nome de utilizador e Password para o Azure SQL Managed Instance.

  4. Selecione Conectar na parte inferior da página.

  5. Agora, na página Conectar, selecione Todas as tabelas ou Digite o(s) nome(s) da(s) tabela(s). 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 comecem com dbo.test.
    • Use dbo\.(test1|test2) para selecionar dbo.test1 e dbo.test2.

    Você pode combinar ambos os formatos na lista. O limite total de caracteres para toda a entrada é de 102.400 caracteres.

  6. Expanda as Definições Avançadas para configurar o Modo de Tratamento de Decimais, que especifica como o conector lida com os valores das colunas DECIMAL e NUMERIC.

    • Precise: Representa valores usando tipos decimais exatos (por exemplo, Java BigDecimal) para garantir total precisão e exatidão na representação dos dados.
    • Double: Converte valores em números de vírgula flutuante de precisão dupla. Esta opção melhora a usabilidade e o desempenho, mas pode resultar numa perda de precisão.
    • String: Codifica valores como cadeias de caracteres formatadas. Esta opção torna-os fáceis de consumir em sistemas a jusante, mas perde informação semântica sobre o tipo numérico original.

Detalhes do fluxo ou da fonte

  1. Na página de Conectar , siga um destes passos consoante se está a usar o Eventstream ou Real-Time hub.

    • Eventstream:

      No painel de detalhes de origem à direita, siga estes passos:

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

      2. Note que o nome do Eventstream e o nome do Stream são apenas de leitura.

    • Real-Time hub:

      Na seção Detalhes do fluxo à direita, siga estas etapas:

      1. Selecione o espaço de trabalho Fabric onde quer criar o fluxo de eventos.

      2. Para o nome do Eventostream, selecione o botão Pencil e insira um nome para o eventostream.

      3. O valor nome do Stream é gerado automaticamente ao adicionar -stream ao nome do eventstream. Este fluxo aparece na página Todos os fluxos de dados do hub em tempo real quando o assistente termina.

  2. Selecione Seguinte no final da página de Configurar .

Revise e conecte-se

No ecrã Revisão + ligar, reveja o resumo e selecione Adicionar (Eventstream) ou Ligar (Real-Time Hub).

Página de tratamento de esquemas

  1. No passo de tratamento do Esquema , escolha uma das seguintes opções:

    • Eventos prontos para análise e esquema atualizado automaticamente (DeltaFlow Preview): O conector transforma eventos CDC brutos em fluxos prontos para análise que espelham a estrutura da sua tabela de fonte. O DeltaFlow enriquece os eventos com metadados como tipo de alteração (inserir, atualizar ou eliminar) e carimbos temporais, e gere automaticamente tabelas de destino e evolução do esquema.
    • Eventos brutos do CDC: O conector ingere e disponibiliza os eventos brutos do CDC. Opcionalmente, o conector pode descobrir automaticamente esquemas de tabela e registá-los no registo de esquemas. Use esta opção quando quiser sensibilidade ao esquema sem transformação DeltaFlow.

    Observação

    A captura de ecrã seguinte mostra o Azure SQL Database CDC. As opções de tratamento de esquemas são as mesmas para todos os conectores de origem CDC suportados.

    Captura de ecrã que mostra o passo de manipulação de esquema com as opções de evento DeltaFlow e Raw CDC para um conector de origem CDC.

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

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

  4. Para 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 Revisão + ligar , reveja o resumo e depois 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 na base de dados Azure SQL Managed Instance, o conector descobre e cria automaticamente esquemas, registando-os no registo de esquemas.

DeltaFlow: Transformação de eventos pronta para análises (Pré-visualização)

Quando ativa eventos prontos para análise e esquema atualizado automaticamente (DeltaFlow), o conector fornece as seguintes capacidades:

  • Forma de evento pronta para análise: Os eventos Debezium Raw CDC são transformados num 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 (insert, update, ou delete) e o carimbo temporal do evento.
  • Gestão automática de tabelas de destino: Quando encaminha fluxos habilitados com DeltaFlow para um destino suportado, como uma casa de eventos, as tabelas de destino são criadas automaticamente para corresponder ao esquema da tabela de origem. Não precisas de criar ou configurar tabelas de destino manualmente.
  • Gestão da evolução do esquema: Quando as tabelas da base de dados de origem mudam (por exemplo, novas colunas são adicionadas ou criadas tabelas), a DeltaFlow deteta automaticamente as alterações, atualiza os esquemas registados e ajusta as tabelas de destino em conformidade. Esta opção minimiza a intervenção manual causada por alterações no esquema.

Observação

O DeltaFlow (Preview) é atualmente compatível com Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server on VM CDC e conectores de origem PostgreSQL CDC.

Para detalhes sobre como o DeltaFlow transforma eventos CDC brutos em resultados prontos para análise, incluindo tipos de operações e colunas de metadados, veja transformação de saída do DeltaFlow.

Ver fluxo de eventos atualizado

Pode ver a fonte do Azure SQL MI DB (CDC) adicionada ao seu fluxo de eventos no modo Edit.

Uma captura de ecrã da fonte adicionada Azure SQL MI DB CDC em modo Editar com funcionalidades estendidas.

Para implementar esta fonte Azure SQL Managed Instance recentemente adicionada, selecione Publicar. Depois de completares estes passos, a tua fonte de Azure SQL Managed Instance fica disponível para visualização na Visualização em Direto.

Uma captura de ecrã da fonte adicionada Azure SQL MI DB CDC em modo Live View com funcionalidades estendidas.

Configurar destinos Eventstream para usar esquemas

Atualmente, apenas o Eventhouse, endpoints personalizados e destinos de stream derivados são suportados para Eventstreams que possuem esquemas associados. Esta seção mostra como adicionar e configurar um destino Eventhouse quando recursos estendidos (como suporte a esquema) estão habilitados para o fluxo de eventos.

Observação

Quando utiliza DeltaFlow (Preview) com uma fonte de Captura de Dados de Alteração (CDC) suportada, as tabelas de destino no Eventhouse são automaticamente criadas e geridas para corresponder à estrutura da tabela de origem. Não precisas de configurar manualmente o esquema da tabela de destino. O DeltaFlow também gere automaticamente a evolução do esquema quando as tabelas de origem mudam.

Configure um esquema para um destino de endpoint personalizado

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

  2. No painel Endpoint Personalizado, especifique um nome para o destino.

  3. Em Esquema de entrada, selecione o esquema para eventos. Faz uma seleção nesta caixa ao ativar o suporte para esquemas para um stream de eventos.

Captura de ecrã que mostra o painel para configurar um endpoint 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 eventos

  1. Selecione Transformar eventos ou adicionar destino e, em seguida, selecione Casa de eventos.

  2. No painel do Eventohouse , configure as seguintes definições relacionadas com o esquema:

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

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

      Observação

      Se selecionou a opção Esquema Dinâmico via cabeçalhos ao configurar uma fonte de Event Hubs, pode ter configurado múltiplos esquemas para a fonte e mapeado-os para várias propriedades e seus valores.

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

      Captura de ecrã que mostra o painel de configuração do Eventhouse com métodos de criação de tabelas.

    3. Em Gravar dados com, selecione uma das seguintes opções:

      • Payload apenas: Inserir os dados extraídos do payload na tabela. Se houver vários esquemas de entrada, os dados serão enviados para várias tabelas.
      • Metadados e carga útil: escreva metadados e dados de carga útil em uma única tabela. Colunas de exemplo incluem source , subject, type, e data.

      Captura de ecrã que mostra o painel de configuração da casa do evento com as opções para escrever dados.

Para passos detalhados na configuração de um destino de casa de eventos, consulte Adicionar um destino de casa de eventos a um fluxo de eventos.

Veja a saída pronta para análises do DeltaFlow (Pré-visualização)

Se ativaste eventos prontos para Analytics e esquema atualizado automaticamente (DeltaFlow), as tabelas de destino são automaticamente criadas numa forma que espelha as tabelas da tua base de dados de origem. Cada tabela inclui as colunas originais juntamente com colunas de metadados para o tipo de alteração e carimbo temporal.

Observação

A captura de ecrã seguinte mostra o Azure SQL Database CDC. A saída da tabela de destino DeltaFlow é a mesma para todos os conectores de fonte CDC suportados.

Captura de ecrã que mostra as tabelas de destinos Eventhouse criadas pela DeltaFlow em formato pronto para análise.

Pode consultar estas tabelas usando a Linguagem de Consulta Kusto (KQL) ou outras ferramentas de análise sem precisar de analisar cargas úteis Debezium CDC brutas.

Outros conectores: