Dodawanie źródła usługi CDC Azure SQL Database do strumienia zdarzeń

W tym artykule pokazano, jak dodać źródło przechwytywania zmian danych (CDC) Azure SQL Database do strumienia zdarzeń.

Łącznik źródłowy Azure SQL Database CDC dla strumieni zdarzeń Microsoft Fabric pozwala na 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 Fabric 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 pojemności Fabric lub w trybie licencji próbnej z uprawnieniami współautora lub wyższymi uprawnieniami.
  • Uruchomiony serwer Azure SQL z bazą danych Azure SQL.
  • Baza danych Azure SQL powinna być publicznie dostępna, i nie znajdować się za zaporą ani zabezpieczona w sieci wirtualnej. Jeśli znajduje się w chronionej sieci, połącz się z nią za pomocą iniekcji sieci wirtualnej łącznika eventstream.
  • Włączono usługę CDC w 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.

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

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

     Zrzut ekranu przedstawiający otwieranie 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
    

Uruchom kreator wyboru źródła danych

Jeśli jeszcze nie dodano żadnego źródła do strumienia zdarzeń, wybierz kafelek Połącz źródła danych . Możesz również wybrać pozycję Dodaj źródło>Połącz źródła danych na wstążce.

Zrzut ekranu przedstawiający wybór kafelka do korzystania z zewnętrznego źródła.

Jeśli dodajesz źródło do już opublikowanego strumienia zdarzeń, przełącz się na tryb edycji. Na wstążce wybierz pozycję Dodaj źródło>Połącz źródła danych.

Zrzut ekranu przedstawiający opcje dodawania źródeł zewnętrznych.

Na stronie Wybierz źródło danych wyszukaj i wybierz Połącz na kafelku Azure SQL DB (CDC).

Screenshot przedstawiający wybór Azure SQL Database (DB) CDC jako typu źródła w kreatorze pobierania zdarzeń.

Konfigurowanie i nawiązywanie połączenia z usługą Azure SQL Database CDC

Pobieranie danych o zmianach z baz danych Azure SQL z automatyczną rejestracją schematu tabeli przy użyciu 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 Połączenie wprowadź następujące wartości dla bazy danych Azure SQL:

    • Server: Wprowadź nazwę serwera Azure SQL z portalu Azure. Ma ona następującą postać: mysqlservername.database.windows.net.

    • Database: Wprowadź nazwę bazy danych Azure SQL w portalu Azure.

      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 usługa Fabric Eventstream obsługuje tylko uwierzytelnianie Basic.

    • 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. Na 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. Możesz rozwinąć Awansowane ustawienia aby uzyskać dostęp do większej liczby opcji konfiguracji dla źródła usługi Azure SQL Database CDC:

    • 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 przesunięć dla nazwy serwera logicznego lub jeśli wykryje, że wcześniejsza migawka nie powiodła się. 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 zostanie zatrzymany. 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).
    • Database applicationIntent: Określa zachowanie routingu w zawsze włączonych grupach dostępności 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 gdzie 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 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. W przypadku Workspace wybierz obszar roboczy Fabric dla zestawu schematów.

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

    Screenshot przedstawiający stronę przeglądania i łączenia źródła Azure SQL Database CDC.

    W przypadku wszystkich tabel lub wybranych tabel w bazie danych Azure SQL, łącznik automatycznie wykrywa 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 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.

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 przez łączniki źródłowe CDC: Azure SQL Database, Azure SQL Managed Instance, SQL Server na maszynie wirtualnej oraz PostgreSQL.

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 zaktualizowanego strumienia zdarzeń

  1. Można zobaczyć źródło Azure SQL Database (CDC) dodane do strumienia zdarzeń w trybie edycji Edytuj.

    Zrzut ekranu strumieniowania źródła Azure SQL Database CDC w widoku edycji.

  2. Aby zaimplementować to nowo dodane źródło Azure SQL Database CDC, wybierz pozycję Publish. Po wykonaniu tych kroków źródło usługi CDC Azure SQL Database jest dostępne do wizualizacji w widoku Live.

    Zrzut ekranu strumieniowego źródła Azure SQL Database CDC w widoku na żywo.

Konfigurowanie miejsc docelowych strumienia zdarzeń do korzystania z schematów

Obecnie dla strumieni zdarzeń z powiązanymi schematami obsługiwane są tylko: Eventhouse, niestandardowy punkt końcowy oraz miejsca docelowe dla pochodnych strumieni. W tej sekcji przedstawiono sposób dodawania i konfigurowania miejsca docelowego usługi Eventhouse po włączeniu rozszerzonych funkcji (takich jak obsługa schematu) dla strumienia zdarzeń.

Uwaga

W przypadku używania funkcji DeltaFlow (wersja zapoznawcza) z obsługiwanym źródłem przechwytywania danych zmian (CDC) tabele docelowe w Eventhouse są automatycznie tworzone i zarządzane, aby dopasować strukturę tabeli źródłowej. Nie musisz ręcznie konfigurować schematu tabeli docelowej. Usługa DeltaFlow automatycznie obsługuje również ewolucję schematu, gdy zmieniają się tabele źródłowe.

Konfiguracja schematu dla niestandardowego adresu końcowego

  1. Wybierz pozycję Przekształć zdarzenia lub dodaj miejsce docelowe, a następnie wybierz pozycję CustomEndpoint.

  2. W okienku Niestandardowy punkt końcowy określ nazwę miejsca docelowego.

  3. W polu Schemat wejściowy wybierz schemat zdarzeń. W tym polu dokonujesz wyboru, gdy włączysz obsługę schematu dla strumienia zdarzeń.

Zrzut ekranu przedstawiający okienko służące do konfigurowania niestandardowego punktu końcowego.

Aby uzyskać szczegółowe instrukcje dotyczące konfigurowania niestandardowego miejsca docelowego punktu końcowego, zobacz Dodawanie niestandardowego punktu końcowego lub niestandardowego miejsca docelowego aplikacji do strumienia zdarzeń.

Konfigurowanie schematów dla docelowego eventhouse'u.

  1. Wybierz pozycję Przekształć zdarzenia lub dodaj miejsce docelowe, a następnie wybierz pozycję Eventhouse.

  2. W okienku Eventhouse skonfiguruj następujące ustawienia związane ze schematem:

    1. W polu Schemat wejściowy wybierz jeden lub więcej schematów z listy rozwijanej.

      Zrzut ekranu przedstawiający okienko konfiguracji eventhouse z wybranym schematem wejściowym.

      Uwaga

      W przypadku wybrania opcji Schemat dynamiczny za pomocą nagłówków podczas konfigurowania źródła usługi Event Hubs można skonfigurować wiele schematów dla źródła i zamapować je na różne właściwości i ich wartości.

    2. W polu Metoda tworzenia tabeli wybierz pozycję Pojedyncza tabela ze wszystkimi schematami połączonymi lub Oddzielnymi tabelamidla każdego schematu w zależności od wymagań.

      Zrzut ekranu przedstawiający panel konfiguracji eventhouse z metodami tworzenia tabel.

    3. W obszarze Zapisywanie danych za pomocą wybierz jedną z następujących opcji:

      • Tylko ładunek: Zapisz wyodrębnione dane ładunku do tabeli. Jeśli istnieje wiele schematów wejściowych, dane są wysyłane do wielu tabel.
      • Metadane i ładunki danych: Zapisz metadane i ładowanie danych do jednej tabeli. Przykładowe kolumny obejmują source , , subjecttypei data.

      Zrzut ekranu przedstawiający okienko konfiguracji magazynu zdarzeń z opcjami zapisywania danych.

Aby uzyskać szczegółowe instrukcje dotyczące konfigurowania celu eventhouse, zobacz Dodawanie celu eventhouse do strumienia zdarzeń.

Wyświetlanie danych wyjściowych gotowych do analizy usługi DeltaFlow (wersja zapoznawcza)

W przypadku włączenia zdarzeń gotowych do analizy i automatycznego aktualizowania schematu (DeltaFlow), tabele docelowe są automatycznie tworzone w formie odzwierciedlającej tabele źródłowej bazy danych. Każda tabela zawiera oryginalne kolumny wraz z kolumnami metadanych dla typu zmiany i znacznika czasu.

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

Możesz wykonywać zapytania dotyczące tych tabel przy użyciu języka Kusto Query Language (KQL) lub innych narzędzi analitycznych bez konieczności analizowania nieprzetworzonych ładunków usługi Debezium CDC.

::: zone-end

Inne łączniki obejmują: