Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo mostra como adicionar uma fonte CDC (Captura de Dados de Alteração) do Banco de Dados SQL do Azure a um fluxo de eventos.
O conector de origem de CDC do Azure SQL Database para fluxos de eventos do Microsoft Fabric permite capturar um instantâneo dos dados atuais numa base de dados SQL do Azure. Em seguida, o conector monitora e registra quaisquer alterações futuras ao 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 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 teste, com permissões de Colaborador ou superiores.
- Um servidor SQL do Azure em execução com um banco de dados SQL do Azure.
- Seu banco de dados SQL do Azure deve ser acessível publicamente e não estar protegido em um firewall ou protegido em uma rede virtual.
- Ative o CDC na sua base de dados SQL do Azure executando o procedimento armazenado
sys.sp_cdc_enable_db. Para obter detalhes, consulte Habilitar e desabilitar a captura de dados de alteração. - Se você não tiver um eventstream, crie um eventstream.
Observe que você não deve habilitar o espelhamento em seu banco de dados SQL do Azure.
Habilitar CDC em seu Banco de Dados SQL do Azure
Vá para 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 iniciar sessão.
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
Inicie o assistente Selecionar uma fonte de dados
Se ainda não adicionaste nenhuma fonte ao teu event stream, seleciona o mosaico Usar 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>Fontes externas.
Na página Selecionar uma fonte de dados, procure e selecione Conectar no bloco Banco de Dados SQL (CDC) do Azure.
Configurar e conectar-se ao CDC do Banco de Dados SQL do Azure
Na página Conectar, selecione Nova conexão.
Na seção Configurações de conexão , insira os seguintes valores para seu banco de dados SQL do Azure:
Servidor: insira o nome do servidor SQL do Azure no portal do Azure. É desta forma:
mysqlservername.database.windows.net.Banco de dados: insira o nome do banco de dados SQL do Azure no portal do Azure.
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.
Nota
Atualmente, o Fabric Eventstream suporta apenas a autenticação Básica .
Digite Nome de usuário e senha para o banco de dados.
Selecione Ligar.
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 comdbo.test. - Use
dbo\.(test1|test2)para selecionardbo.test1edbo.test2.
Você pode misturar ambos os formatos usando vírgulas. O limite total de caracteres para toda a entrada é de 102.400 caracteres.
- Use
Pode expandir as definições avançadas para aceder a opções de configuração adicionais para a fonte do Azure SQL Database CDC:
-
Modo de tratamento decimal: Define como o conector trata os valores de
DECIMALeNUMERICnas colunas:-
Precise: Representa valores usando tipos decimais exatos (por exemplo, JavaBigDecimal) para garantir total precisão e precisão na representação de dados. -
Double: Converte valores em números de vírgula 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 a jusante, mas perde informações semânticas sobre o tipo numérico original.
-
-
Modo snapshot: Especifique os critérios para realizar uma snapshot quando o conector inicia:
-
Initial: O conector executa um snapshot apenas quando não foram registados offsets para o nome lógico do servidor, ou se detetar que um snapshot anterior não foi concluído com sucesso. Após a conclusão do snapshot, o conector começa a transmitir registos de eventos para alterações subsequentes na base de dados. -
InitialOnly: O conector executa um snapshot apenas quando não foram registados deslocamentos para o nome lógico do servidor. Depois de concluída a fotografia, o conector para. Não faz a transição para streaming para ler os eventos de alteração do binlog. -
NoData: O conector executa um snapshot que captura apenas o esquema, mas não quaisquer dados da tabela. Define esta opção se não precisares de um snapshot consistente dos dados, mas só precisas das alterações que ocorrem desde o início do conector.
-
- Lista de exclusão de colunas: Especifica colunas a excluir dos valores de eventos de mudança usando nomes totalmente qualificados (schemaName.tableName.columnName).
-
Intenção da aplicação da base de dados: Determina o comportamento de roteamento em grupos de disponibilidade SQL Server Always On:
-
ReadWrite: Liga-se à réplica principal. Use isto se a ligação precisar de realizar tanto operações de leitura como de escrita. -
ReadOnly: Permite o encaminhamento para uma réplica secundária legível para operações de leitura apenas. Use-o para ativar o CDC diretamente nas réplicas. É necessário definir snapshot.isolation.mode para snapshot, que é o único modo de isolamento de transação suportado para réplicas apenas de leitura.
-
- Substituição do comando snapshot select: Use esta propriedade se quiser que um snapshot inclua apenas um subconjunto das linhas de uma tabela. Esta propriedade afeta apenas instantâneos. Não se aplica a eventos que o conector lê do log.
-
Modo de tratamento decimal: Define como o conector trata os valores de
Selecione Seguinte.
No ecrã Rever e criar, reveja o resumo e, em seguida, selecione Adicionar.
Ingerir dados de alteração de bancos de dados SQL do Azure com registro automático de esquema de tabela via CDC no Eventstream.
Na página Conectar, selecione Nova conexão.
Na seção Configurações de conexão , insira os seguintes valores para seu banco de dados SQL do Azure:
Servidor: insira o nome do servidor SQL do Azure no portal do Azure. É desta forma:
mysqlservername.database.windows.net.Banco de dados: insira o nome do banco de dados SQL do Azure no portal do Azure.
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.
Nota
Atualmente, o Fabric Eventstream suporta apenas a autenticação básica.
Digite Nome de usuário e senha para o banco de dados.
Selecione Ligar.
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 comdbo.test. - Use
dbo\.(test1|test2)para selecionardbo.test1edbo.test2.
Você pode misturar ambos os formatos usando vírgulas. O limite total de caracteres para toda a entrada é de 102.400 caracteres.
- Use
Pode expandir as definições avançadas para aceder a opções de configuração adicionais para a fonte do Azure SQL Database CDC:
-
Modo de tratamento decimal: Define como o conector trata os valores de
DECIMALeNUMERICnas colunas:-
Precise: Representa valores usando tipos decimais exatos (por exemplo, JavaBigDecimal) para garantir total precisão e precisão na representação de dados. -
Double: Converte valores em números de vírgula 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 a jusante, mas perde informações semânticas sobre o tipo numérico original.
-
-
Modo snapshot: Especifique os critérios para realizar uma snapshot quando o conector inicia:
-
Initial: O conector executa um snapshot apenas quando não foram registados offsets para o nome lógico do servidor, ou se detetar que um snapshot anterior não foi concluído com sucesso. Após a conclusão do snapshot, o conector começa a transmitir registos de eventos para alterações subsequentes na base de dados. -
InitialOnly: O conector executa um snapshot apenas quando não foram registados deslocamentos para o nome lógico do servidor. Depois de concluída a fotografia, o conector para. Não faz a transição para streaming para ler os eventos de alteração do binlog. -
NoData: O conector executa um snapshot que captura apenas o esquema, mas não quaisquer dados da tabela. Define esta opção se não precisares de um snapshot consistente dos dados, mas só precisas das alterações que ocorrem desde o início do conector.
-
- Lista de exclusão de colunas: Especifica colunas a excluir dos valores de eventos de mudança usando nomes totalmente qualificados (schemaName.tableName.columnName).
-
Intenção da aplicação da base de dados: Determina o comportamento de roteamento em grupos de disponibilidade SQL Server Always On:
-
ReadWrite: Liga-se à réplica principal. Use isto se a ligação precisar de realizar tanto operações de leitura como de escrita. -
ReadOnly: Permite o encaminhamento para uma réplica secundária legível para operações de leitura apenas. Use-o para ativar o CDC diretamente nas réplicas. É necessário definir snapshot.isolation.mode para snapshot, que é o único modo de isolamento de transação suportado para réplicas apenas de leitura.
-
- Substituição do comando snapshot select: Use esta propriedade se quiser que um snapshot inclua apenas um subconjunto das linhas de uma tabela. Esta propriedade afeta apenas instantâneos. Não se aplica a eventos que o conector lê do log.
-
Modo de tratamento decimal: Define como o conector trata os valores de
Habilite a associação de esquema de eventos.
Em Espaço de trabalho, selecione um espaço de trabalho de malha para o conjunto de esquemas.
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.
Se você selecionou a opção + Criar na etapa anterior, insira um nome para o conjunto de esquemas.
Na página Rever + conectar, selecione Adicionar.
Para todas as tabelas ou tabelas selecionadas no banco de dados SQL do Azure, o conector descobre automaticamente e cria esquemas e os registra no registro do esquema.
Selecione o nó do fluxo de eventos no meio e alterne para a guia Esquemas associados no painel inferior.
Conjunto de esquemas
Navegue até o espaço de trabalho selecionado na etapa anterior. No exemplo a seguir, é Meu espaço de trabalho.
Selecione o conjunto de esquemas que o conector do Banco de Dados SQL do Azure (CDC) criou.
Você vê os esquemas no conjunto de esquemas conforme mostrado na imagem a seguir.
Para ver a versão JSON do esquema, alterne para a exibição de esquema JSON .
Não altere esses esquemas descobertos usando este editor, pois ele deixará de estar conforme o esquema de tabelas na fonte Azure SQL Database.
Ver fluxo de eventos atualizado
Você pode ver a fonte do Banco de Dados SQL do Azure (CDC) adicionada ao seu fluxo de eventos no modo de edição.
Para implementar essa fonte CDC do Banco de Dados SQL do Azure recém-adicionada, selecione Publicar. Depois de concluir estes passos, a sua fonte CDC do Banco de Dados SQL do Azure estará disponível para visualização na Vista ao vivo.
Configurar destinos de fluxo de eventos para usar esquemas
Atualmente, apenas o eventhouse, endpoint personalizado e destinos de stream derivados são suportados para eventstreams com as funcionalidades estendidas ativadas. Esta secção mostra-lhe como adicionar e configurar um destino de casa de eventos quando funcionalidades estendidas (como suporte a esquemas) estão ativadas para o fluxo de eventos.
Configure um esquema para um destino de endpoint personalizado
Selecione Transformar eventos ou adicionar destino, e depois selecione CustomEndpoint.
No painel Endpoint Personalizado, especifique um nome para o destino.
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.
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
Selecione Transformar eventos ou adicionar destino e, em seguida, selecione Casa de eventos.
No painel do Eventohouse , configure as seguintes definições relacionadas com o esquema:
Para o esquema de entrada, selecione um ou mais esquemas da lista suspensa.
Nota
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.
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.
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, edata.
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.
Conteúdos relacionados
Outros conectores:
- Fluxos de Dados Amazon Kinesis
- Azure Cosmos DB
- Hubs de Eventos do Azure
- Barramento de Serviço do Azure
- Hub IoT do Azure
- Kafka confluente
- Ponto de extremidade personalizado
- Google Cloud Pub/Sub
- Banco de dados MySQL CDC
- Banco de Dados PostgreSQL CDC
- Dados de exemplo
- Eventos de Azure Blob Storage
- Evento do espaço de trabalho Fabric