Dodawanie funkcji przechwytywania zmian danych w usłudze Azure SQL Database (CDC) jako źródła w centrum czasu rzeczywistego

W tym artykule opisano sposób pobierania zdarzeń z Azure SQL Database Change Data Capture (CDC) do Fabric Real-Time hub.

Łącznik źródłowy usługi Azure SQL Database CDC dla strumieni zdarzeń usługi Microsoft Fabric umożliwia przechwycenie migawki bieżących danych w bazie danych Azure SQL Database. Następnie łącznik monitoruje i rejestruje wszelkie przyszłe zmiany na poziomie wiersza w tych danych. Po przechwyceniu zmian w strumieniu zdarzeń można przetwarzać te dane CDC w czasie rzeczywistym i wysyłać je do różnych miejsc docelowych w sieci szkieletowej w celu dalszego przetwarzania lub analizy.

Uwaga

Za pomocą funkcji DeltaFlow (wersja zapoznawcza) można przekształcić nieprzetworzone zdarzenia CDC Debezium na strumienie gotowe do analizy, które odzwierciedlają strukturę tabeli źródłowej. Usługa DeltaFlow automatyzuje rejestrację schematu, zarządzanie tabelami docelowymi i obsługę ewolucji schematu. Aby użyć funkcji DeltaFlow, wybierz pozycję Zdarzenia gotowe do analizy i automatycznie zaktualizowany schemat podczas kroku obsługi schematu.

Wymagania wstępne

  • Dostęp do obszaru roboczego w trybie licencji Fabric capacity lub w trybie licencji próbnej z uprawnieniami współautora lub wyższymi.
  • Uruchomiony serwer Azure SQL z bazą danych Azure SQL Database.
  • Twoja baza danych Azure SQL Database powinna być publicznie dostępna i nie znajdować się za zaporą lub być zabezpieczona w sieci wirtualnej. Jeśli znajduje się w chronionej sieci, połącz się z nią za pomocą iniekcji sieci wirtualnej łącznika eventstream.
  • Włącz CDC w twojej bazie danych Azure SQL, uruchamiając procedurę składowaną sys.sp_cdc_enable_db. Aby uzyskać szczegółowe informacje, zobacz Włączanie i wyłączanie przechwytywania zmian danych.

Uwaga

Nie włączaj dublowania w bazie danych Azure SQL Database.

Włączanie usługi CDC w usłudze Azure SQL Database

  1. Przejdź do witryny Azure Portal, otwórz bazę danych Azure SQL Database i wybierz pozycję Edytor zapytań. Wybierz metodę uwierzytelniania, aby się zalogować.

    Zrzut ekranu przedstawiający otwieranie bazy danych Azure SQL Database.

  2. Uruchom następujące polecenia SQL, aby włączyć usługę CDC w bazie danych:

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

Strona źródeł danych

  1. Zaloguj się do usługi Microsoft Fabric.

  2. Jeśli w lewym dolnym rogu strony wyświetlana jest Power BI, przejdź do obciążenia roboczego Fabric, wybierając Power BI, a następnie wybierając Fabric.

    Zrzut ekranu przedstawiający sposób przełączania się do obciążenia Fabric.

  3. Wybierz pozycję Czas rzeczywisty na lewym pasku nawigacyjnym.

    zrzut ekranu pokazujący sposób uruchamiania programu Connect to data source experience (Łączenie ze źródłem danych).

  4. Domyślnie zostanie otwarta strona Dane przesyłane strumieniowo . Kliknij przycisk Dodaj dane , aby przejść do strony Dodawanie danych .

    Zrzut ekranu przedstawiający stronę Dodawanie danych w centrum Real-Time.

    Możesz również przejść bezpośrednio do strony Dodawanie danych , wybierając opcję Dodaj dane na pasku nawigacyjnym po lewej stronie.

    Zrzut ekranu przedstawiający przycisk Połącz źródło danych.

  1. Na stronie Źródła danych wybierz kategorię Źródła firmy Microsoft u góry, a następnie wybierz pozycję Połącz na kafelku Usługi Azure SQL DB (CDC).

    Zrzut ekranu przedstawiający wybór usługi Azure SQL Database (CDC) jako typu źródłowego na stronie Źródła danych.

    Skorzystaj z instrukcji w sekcji Łączenie ze źródłem usługi Azure SQL Database CDC.

Nawiązać połączenie ze źródłem CDC usługi Azure SQL Database

Pozyskiwanie danych o zmianach z baz danych Azure SQL z automatyczną rejestracją schematów tabel przez CDC do Eventstream.

Uwaga

DeltaFlow (wersja zapoznawcza): po wybraniu zdarzeń gotowych do analizy i automatycznie zaktualizowanego schematu w kroku obsługi schematu funkcja DeltaFlow przekształca nieprzetworzone zdarzenia CDC Debezium na strumienie gotowe do analizy, które odzwierciedlają strukturę tabeli źródłowej. Usługa DeltaFlow automatyzuje również tworzenie tabel docelowych i obsługę ewolucji schematu.

  1. Na stronie Łączenie wybierz pozycję Nowe połączenie.

    Zrzut ekranu przedstawiający stronę Połącz kreatora Pobierz zdarzenia, z wyróżnionym linkiem

  2. W sekcji Ustawienia połączenia wprowadź następujące wartości dla bazy danych Azure SQL Database:

    • Serwer: wprowadź nazwę serwera Azure SQL w witrynie Azure Portal. Ma ona następującą postać: mysqlservername.database.windows.net.

    • Baza danych: wprowadź nazwę bazy danych Azure SQL Database w witrynie Azure Portal.

      Zrzut ekranu przedstawiający sekcję Ustawienia połączenia na stronie Nowe połączenie.

  3. Przewiń w dół i w sekcji Poświadczenia połączenia wykonaj następujące kroki.

    • W polu Nazwa połączenia wprowadź nazwę połączenia.

    • W polu Rodzaj uwierzytelniania wybierz pozycję Podstawowa.

      Uwaga

      Obecnie Fabric Eventstream obsługuje tylko podstawowe uwierzytelnianie.

    • Wprowadź nazwę użytkownika i hasło dla bazy danych.

  4. Wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający sekcję Poświadczenia połączenia na stronie Nowe połączenie.

  5. Teraz na stronie Połącz wybierz pozycję Wszystkie tabele lub Wprowadź nazwy tabel. Jeśli wybierzesz tę drugą, określ tabele przy użyciu rozdzielanej przecinkami listy pełnych identyfikatorów tabeli (schemaName.tableName) lub prawidłowych wyrażeń regularnych. Przykład:

    • Użyj dbo.test.*, aby wybrać wszystkie tabele, których nazwy zaczynają się od dbo.test.
    • Użyj dbo\.(test1|test2), aby wybrać dbo.test1 i dbo.test2.

    Oba formaty można mieszać przy użyciu przecinków. Całkowity limit znaków dla całego wpisu wynosi 102 400 znaków.

  6. Aby uzyskać dostęp do większej liczby opcji konfiguracji dla źródła CDC usługi Azure SQL Database, możesz rozwinąć Ustawienia zaawansowane

    • Tryb obsługi dziesiętnej: definiuje sposób, w jaki łącznik obsługuje dziesiętne wartości kolumn DECIMAL i NUMERIC.
      • Precise: reprezentuje wartości przy użyciu dokładnych typów dziesiętnych (na przykład Java BigDecimal), aby zapewnić pełną precyzję i dokładność w reprezentacji danych.
      • Double: konwertuje wartości na liczby zmiennoprzecinkowe o podwójnej precyzji. To ustawienie zwiększa użyteczność i wydajność, ale może spowodować utratę precyzji.
      • String: koduje wartości jako sformatowane ciągi. To ustawienie ułatwia wykorzystanie w systemach końcowych, ale traci semantyczne informacje o oryginalnym typie liczbowym.
    • Tryb migawki: określ kryteria wykonywania migawki po uruchomieniu łącznika:
      • Initial: Łącznik uruchamia migawkę tylko wtedy, gdy nie zarejestrowano żadnych offsetów dla nazwy serwera logicznego lub jeśli wykryje, że wcześniejsza migawka nie została ukończona. Po zakończeniu tworzenia migawki łącznik zaczyna przesyłać strumieniowo rekordy zdarzeń dla kolejnych zmian bazy danych.
      • InitialOnly: Łącznik uruchamia migawkę tylko wtedy, gdy nie zarejestrowano żadnych przesunięć dla nazwy serwera logicznego. Po zakończeniu tworzenia migawki łącznik przestaje działać. Nie przechodzi do przesyłania strumieniowego w celu odczytu zdarzeń zmiany z binloga.
      • NoData: Łącznik uruchamia migawkę, która przechwytuje tylko schemat, ale nie żadne dane tabeli. Ustaw tę opcję, jeśli nie potrzebujesz spójnej migawki danych, ale potrzebne są tylko zmiany wykonywane od momentu uruchomienia łącznika.
    • Lista wykluczonych kolumn: Określa kolumny do wykluczenia ze zbioru wartości zdarzeń zmiany, używając w pełni kwalifikowanych nazw (schemaName.tableName.columnName).
    • Aplikacja bazy danychIntent: określa zachowanie routingu w zawsze włączonych grupach dostępności programu SQL Server:
      • ReadWrite: Łączy się z repliką podstawową. Użyj tej opcji, jeśli połączenie musi wykonywać operacje odczytu i zapisu.
      • ReadOnly: umożliwia kierowanie do czytelnej repliki pomocniczej dla operacji tylko do odczytu. Służy do włączania usługi CDC bezpośrednio na replikach. Wymaga ustawienia snapshot.isolation.mode na snapshot, który jest jedynym trybem izolacji transakcji obsługiwanym dla replik przeznaczonych wyłącznie do odczytu.
    • Zastępowanie instrukcji SELECT migawki: użyj właściwości jeśli chcesz, aby migawka zawierała jedynie część wierszy znajdujących się w tabeli. Ta właściwość ma wpływ tylko na migawki. Nie ma zastosowania do zdarzeń odczytanych przez łącznik z dziennika.

Szczegóły strumienia lub źródła

  1. Na stronie Łączenie wykonaj jedną z tych czynności w zależności od tego, czy używasz usługi Eventstream, czy Real-Time Hub.

    • Strumień zdarzeń:

      W okienku Szczegóły źródła po prawej stronie wykonaj następujące kroki:

      1. W polu Nazwa źródła wybierz przycisk Ołówek , aby zmienić nazwę.

      2. Zwróć uwagę, że nazwa strumienia zdarzeń i nazwa strumienia są tylko do odczytu.

    • Centrum czasu rzeczywistego:

      W sekcji Szczegóły usługi Stream po prawej stronie wykonaj następujące kroki:

      1. Wybierz obszar roboczy Fabric, w którym chcesz utworzyć strumień zdarzeń.

      2. W polu Nazwa strumienia zdarzeń wybierz przycisk Ołówek i wprowadź nazwę strumienia zdarzeń.

      3. Wartość nazwy strumienia jest automatycznie generowana przez dodanie -stream do nazwy eventstream. Strumień ten pojawia się na stronie Wszystkie strumienie danych na centrum czasu rzeczywistego, gdy kreator zakończy działanie.

  2. Wybierz pozycję Dalej w dolnej części strony Konfigurowanie .

Przeglądanie i nawiązywanie połączenia

Na ekranie Przeglądanie i łączenie przejrzyj podsumowanie, a następnie wybierz pozycję Dodaj (Eventstream) lub Połącz (Real-Time hub).

Strona obsługi schematu

  1. Na stronie Obsługa schematu wybierz jedną z następujących opcji:

    • Zdarzenia gotowe do analizy i automatycznie zaktualizowany schemat (wersja zapoznawcza usługi DeltaFlow): łącznik przekształca nieprzetworzone zdarzenia CDC w strumienie gotowe do analizy, które odzwierciedlają strukturę tabeli źródłowej. Funkcja DeltaFlow wzbogaca zdarzenia o metadane, takie jak typ zmiany (wstawianie, aktualizowanie lub usuwanie) i znaczniki czasu, a także automatycznie zarządza tabelami docelowymi i ewolucją schematu.
    • Nieprzetworzone zdarzenia CDC: łącznik pozyskuje i udostępnia nieprzetworzone zdarzenia CDC. Opcjonalnie łącznik może automatycznie odnajdywać schematy tabel i rejestrować je w rejestrze schematów. Użyj tej opcji, jeśli chcesz mieć świadomość schematu bez przekształcenia DeltaFlow.

    Uwaga

    Poniższy zrzut ekranu przedstawia usługę Azure SQL Database CDC. Opcje obsługi schematu są takie same dla wszystkich obsługiwanych łączników źródłowych CDC.

    Zrzut ekranu przedstawiający krok obsługi schematu z opcjami zdarzeń DeltaFlow i Raw CDC dla łącznika źródła CDC.

  2. Włącz skojarzenie schematu zdarzeń.

  3. Wybierz obszar roboczy typu Fabric dla zestawu schematów workspace.

  4. W obszarze Zestaw schematówopcja + Utwórz jest domyślnie wybierana, co powoduje utworzenie nowego zestawu schematów. Można go zmienić, aby wybrać istniejący zestaw schematów zdarzeń.

  5. Jeśli w poprzednim kroku wybrano opcję + Utwórz , wprowadź nazwę zestawu schematów.

  6. Na stronie Przeglądanie i łączenie wybierz pozycję Dodaj (Eventstream) lub Połącz (Real-Time hub).

    Zrzut ekranu przedstawiający stronę weryfikacji i połączenia dla źródła CDC usługi Azure SQL Database.

    W przypadku wszystkich tabel lub wybranych tabel w bazie danych Azure SQL Database łącznik automatycznie odnajduje i tworzy schematy oraz rejestruje je w rejestrze schematów.

  7. Wybierz węzeł eventstream w środku i przejdź do karty Skojarzone schematy w dolnym okienku.

    Zrzut ekranu przedstawiający okno skojarzonego schematu w dolnym okienku.

Zestaw schematów

  1. Przejdź do obszaru roboczego wybranego w poprzednim kroku. W poniższym przykładzie jest to Mój obszar roboczy.

  2. Wybierz zestaw schematów utworzony przez łącznik usługi Azure SQL Database (CDC).

    Zrzut ekranu przedstawiający wygenerowany zestaw schematów na stronie Mój obszar roboczy.

  3. Schematy są widoczne w zestawie schematów, jak pokazano na poniższej ilustracji.

    Zrzut ekranu przedstawiający schematy w wygenerowanych zestawach schematów.

  4. Aby wyświetlić wersję JSON schematu, przejdź do widoku schematu JSON .

    Zrzut ekranu przedstawiający widok schematu JSON.

    Nie zmieniaj tych odnalezionych schematów przy użyciu tego edytora, ponieważ staje się on niezgodny ze schematem tabel w źródle bazy danych Azure SQL Database.

DeltaFlow: przekształcanie zdarzeń gotowych do analizy (wersja zapoznawcza)

Po włączeniu funkcji zdarzeń gotowych do analizy i automatycznego aktualizowania schematu (DeltaFlow) łącznik oferuje następujące możliwości:

  • Kształt zdarzenia gotowego do analityki: Surowe zdarzenia CDC Debezium są przekształcane w format tabelaryczny, który odzwierciedla strukturę tabeli źródłowej. Zdarzenia są wzbogacone o kolumny metadanych, w tym typ zmiany (insert, updatelub delete) i znacznik czasu zdarzenia.

  • Automatyczne zarządzanie tabelami docelowymi: w przypadku kierowania strumieni z obsługą funkcji DeltaFlow do obsługiwanego miejsca docelowego, takiego jak magazyn zdarzeń, tabele docelowe są tworzone automatycznie w celu dopasowania do schematu tabeli źródłowej. Nie musisz ręcznie tworzyć ani konfigurować tabel docelowych.

  • Obsługa ewolucji schematu: gdy tabele źródłowej bazy danych zmieniają się (na przykład dodawane są nowe kolumny lub tworzone tabele), funkcja DeltaFlow automatycznie wykrywa zmiany, aktualizuje zarejestrowane schematy i odpowiednio dostosowuje tabele docelowe. Ta opcja minimalizuje interwencję ręczną spowodowaną zmianami schematu.

    Zrzut ekranu przedstawiający tabele docelowe usługi Eventhouse w kształcie gotowym do analizy utworzonym przez usługę DeltaFlow.

Uwaga

Usługa DeltaFlow (wersja zapoznawcza) jest obecnie obsługiwana w przypadku łączników źródłowych CDC usługi Azure SQL Database, usługi Azure SQL Managed Instance CDC, programu SQL Server na maszynie wirtualnej CDC i usługi PostgreSQL CDC.

Aby uzyskać szczegółowe informacje na temat przekształcania surowych zdarzeń CDC w dane wyjściowe gotowe do analizy, w tym typy operacji i kolumny metadanych, zobacz DeltaFlow output transformation.

Wyświetlanie szczegółów strumienia danych

  1. Na stronie Przeglądanie i łączenie, jeśli wybierzesz pozycję Otwórz strumień zdarzeń, kreator otworzy strumień zdarzeń utworzony dla Ciebie przy użyciu wybranej usługi Azure SQL Database CDC jako źródła. Aby zamknąć kreatora, wybierz pozycję Zakończ w dolnej części strony.

    Zrzut ekranu przedstawiający stronę Przegląd i połączenie po pomyślnym utworzeniu źródła.

  2. Strumień powinien zostać wyświetlony w sekcji Ostatnie dane przesyłane strumieniowo na stronie głównej centrumReal-Time . Aby uzyskać szczegółowe instrukcje, zobacz Wyświetlanie szczegółów strumieni danych w centrum sieci szkieletowej w czasie rzeczywistym.

Aby dowiedzieć się więcej o używaniu strumieni danych, zobacz następujące artykuły: