Udostępnij przez


Dodaj źródło CDC usługi Azure SQL Database do strumienia zdarzeń

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

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

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.
  • Baza danych Azure SQL Database musi być publicznie dostępna i nie musi znajdować się za zaporą lub być zabezpieczona w sieci wirtualnej.
  • 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.
  • Jeśli nie masz strumienia zdarzeń, utwórz strumień zdarzeń.

Należy pamiętać, że nie można włączyć 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
    

Uruchom kreator wyboru źródła danych

Jeśli jeszcze nie dodano żadnego źródła do strumienia zdarzeń, wybierz kafelek Użyj źródła zewnętrznego .

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ła>zewnętrzne.

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

Na stronie Wybieranie źródła danych wyszukaj i wybierz pozycję Połącz na kafelku Azure SQL DB (CDC).

Zrzut ekranu przedstawiający wybór Azure SQL DB CDC jako typu źródłowego w kreatorze Pobierania zdarzeń.

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

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

    Zrzut ekranu przedstawiający stronę Połączenia kreatora pobierania zdarzeń z wyróżnionym linkiem **Nowe połączenie**.

  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. 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ąć pozycję Ustawienia zaawansowane , aby uzyskać dostęp do dodatkowych 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 przełącza się na przesyłanie strumieniowe 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 dotyczy zdarzeń odczytywanych przez łącznik z dziennika.
  7. Wybierz Dalej.

    Zrzut ekranu pokazujący stronę Łączenia w kreatorze Pobierania zdarzeń wypełnioną.

  8. Na ekranie Przeglądanie i tworzenie przejrzyj podsumowanie, a następnie wybierz pozycję Dodaj.

    Zrzut ekranu przedstawiający wypełnioną stronę Przegląd i tworzenie kreatora Pobieranie zdarzeń.

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

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

    • 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ąć pozycję Ustawienia zaawansowane , aby uzyskać dostęp do dodatkowych 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 przełącza się na przesyłanie strumieniowe 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 dotyczy zdarzeń odczytywanych przez łącznik z dziennika.
  7. Włącz skojarzenie schematu zdarzeń.

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

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

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

    Zrzut ekranu przedstawiający ustawienie schematu dla źródła usługi Azure SQL Database CDC.

  11. Na stronie Przeglądanie i łączenie wybierz pozycję Dodaj.

    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.

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

Wyświetlanie zaktualizowanego strumienia zdarzeń

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

    Zrzut ekranu przedstawiający przesyłanie strumieniowe źródła CDC usługi Azure SQL Database w widoku edycji.

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

    Zrzut ekranu przedstawiający przesyłanie strumieniowe źródła CDC bazy danych Azure SQL w widoku na żywo.

Skonfiguruj destynacje strumienia zdarzeń do używania schematów

Obecnie w przypadku strumieni zdarzeń z włączonymi funkcjami rozszerzonymi obsługiwane są tylko eventhouse, punkt końcowy niestandardowy i pochodne strumienie docelowe. W tej sekcji przedstawiono sposób dodawania i konfigurowania punktu docelowego zarządzania zdarzeniami po włączeniu rozszerzonych funkcji, takich jak wsparcie dla schematów, dla strumienia zdarzeń.

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

Inne łączniki: