Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
Przejdź do witryny Azure Portal, otwórz bazę danych Azure SQL Database i wybierz pozycję Edytor zapytań. Wybierz metodę uwierzytelniania, aby się zalogować.
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 .
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.
Na stronie Wybieranie źródła danych wyszukaj i wybierz pozycję Połącz na kafelku Azure SQL DB (CDC).
Konfigurowanie usługi Azure SQL Database CDC i nawiązywanie z nią połączenia
Na stronie Łączenie wybierz pozycję Nowe połączenie.
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.
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.
Wybierz pozycję Połącz.
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ę oddbo.test. - Użyj
dbo\.(test1|test2), aby wybraćdbo.test1idbo.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.
- Użyj
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
DECIMALiNUMERIC.-
Precise: reprezentuje wartości przy użyciu dokładnych typów dziesiętnych (na przykład JavaBigDecimal), 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.
-
Tryb obsługi dziesiętnej: definiuje sposób, w jaki łącznik obsługuje dziesiętne wartości kolumn
Wybierz Dalej.
Na ekranie Przeglądanie i tworzenie przejrzyj podsumowanie, a następnie wybierz pozycję Dodaj.
Pozyskiwanie danych o zmianach z baz danych Azure SQL z automatyczną rejestracją schematów tabel przez CDC do Eventstream.
Na stronie Łączenie wybierz pozycję Nowe połączenie.
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.
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.
Wybierz pozycję Połącz.
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ę oddbo.test. - Użyj
dbo\.(test1|test2), aby wybraćdbo.test1idbo.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.
- Użyj
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
DECIMALiNUMERIC.-
Precise: reprezentuje wartości przy użyciu dokładnych typów dziesiętnych (na przykład JavaBigDecimal), 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.
-
Tryb obsługi dziesiętnej: definiuje sposób, w jaki łącznik obsługuje dziesiętne wartości kolumn
Włącz skojarzenie schematu zdarzeń.
Wybierz obszar roboczy typu Fabric dla zestawu schematów workspace.
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ń.
Jeśli w poprzednim kroku wybrano opcję + Utwórz , wprowadź nazwę zestawu schematów.
Na stronie Przeglądanie i łączenie wybierz pozycję Dodaj.
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.
Wybierz węzeł eventstream w środku i przejdź do karty Skojarzone schematy w dolnym okienku.
Zestaw schematów
Przejdź do obszaru roboczego wybranego w poprzednim kroku. W poniższym przykładzie jest to Mój obszar roboczy.
Wybierz zestaw schematów utworzony przez łącznik usługi Azure SQL Database (CDC).
Schematy są widoczne w zestawie schematów, jak pokazano na poniższej ilustracji.
Aby wyświetlić wersję JSON schematu, przejdź do widoku 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ń
Możesz zobaczyć źródło usługi Azure SQL Database (CDC) dodane do strumienia zdarzeń w trybie edycji.
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.
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
Wybierz pozycję Przekształć zdarzenia lub dodaj miejsce docelowe, a następnie wybierz pozycję CustomEndpoint.
W okienku Niestandardowy punkt końcowy określ nazwę miejsca docelowego.
W polu Schemat wejściowy wybierz schemat zdarzeń. W tym polu dokonujesz wyboru, gdy włączysz obsługę schematu dla strumienia zdarzeń.
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.
Wybierz pozycję Przekształć zdarzenia lub dodaj miejsce docelowe, a następnie wybierz pozycję Eventhouse.
W okienku Eventhouse skonfiguruj następujące ustawienia związane ze schematem:
W polu Schemat wejściowy wybierz jeden lub więcej schematów z listy rozwijanej.
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.
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ń.
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, ,subjecttypeidata.
Aby uzyskać szczegółowe instrukcje dotyczące konfigurowania celu eventhouse, zobacz Dodawanie celu eventhouse do strumienia zdarzeń.
Powiązana zawartość
Inne łączniki:
- Strumienie danych Amazon Kinesis
- Azure Cosmos DB
- Azure Event Hubs
- Azure Service Bus
- Azure IoT Hub
- Confluent Kafka
- Niestandardowy punkt końcowy
- Google Cloud Pub/Sub
- Baza danych MySQL CDC
- Baza danych PostgreSQL CDC
- Dane przykładowe
- Zdarzenia usługi Azure Blob Storage
- Zdarzenie przestrzeni roboczej Fabric