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 bazy danych PostgreSQL (CDC) do strumienia zdarzeń.
Łącznik źródłowy wykrywania zmian danych w bazie danych PostgreSQL (CDC) dla strumieni zdarzeń usługi Microsoft Fabric umożliwia wykonanie migawki aktualnych danych w bazie danych PostgreSQL. Obecnie funkcja przechwytywania zmian danych bazy danych PostgreSQL (CDC) jest obsługiwana z następujących usług, do których można publicznie uzyskać dostęp do baz danych:
- Azure Database for PostgreSQL
- Amazon RDS for PostgreSQL
- Amazon Aurora PostgreSQL
- Google Cloud SQL for PostgreSQL
Po dodaniu źródła CDC bazy danych PostgreSQL do strumieniu zdarzeń, przechwytuje zmiany na poziomie wiersza w określonych tabelach. Te zmiany można następnie przetwarzać w czasie rzeczywistym i wysyłać do różnych miejsc docelowych w celu dalszej analizy.
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.
Zarejestrowany dostęp użytkownika w bazie danych PostgreSQL.
Baza danych PostgreSQL musi być publicznie dostępna i nie znajdować się za zaporą lub być zabezpieczona w sieci wirtualnej.
Usługa CDC włączona w bazie danych PostgreSQL i tabelach.
Jeśli masz usługę Azure Database for PostgreSQL, wykonaj kroki opisane w następnej sekcji, aby włączyć usługę CDC. Aby uzyskać szczegółowe informacje, zobacz Replikacja logiczna i dekodowanie logiczne — Azure Database for PostgreSQL — serwer elastyczny.
Dla innych baz danych PostgreSQL, zobacz Łącznik Debezium dla PostgreSQL :: Dokumentacja Debezium.
Jeśli nie masz strumienia zdarzeń, utwórz strumień zdarzeń.
Włączanie usługi CDC w bazie danych PostgreSQL
W tej sekcji użyto Azure Database for PostgreSQL jako przykład.
Aby włączyć CDC w elastycznym serwerze Azure Database for PostgreSQL, wykonaj następujące kroki:
Na stronie elastycznego serwera PostgreSQL w portalu Azure wybierz pozycję Parametry serwera w menu nawigacji.
Na stronie Parametry serwera:
- Ustaw wal_level na wartość logiczną.
- Zaktualizuj max_worker_processes do co najmniej 16.
Zapisz zmiany i uruchom ponownie serwer.
Potwierdź, że wystąpienie elastycznego serwera Azure Database for PostgreSQL zezwala na publiczny ruch sieciowy.
Udziel uprawnień replikacji użytkownika administratora, uruchamiając następującą instrukcję SQL. Jeśli chcesz użyć innego konta użytkownika, aby połączyć bazę danych PostgreSQL w celu pobrania usługi CDC, upewnij się, że użytkownik jest właścicielem tabeli .
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
Uruchom kreatora Wybierz źródło 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 Wybierz źródło danych wyszukaj i wybierz Połącz na kafelku PostgreSQL DB (CDC).
Konfigurowanie i nawiązywanie połączenia z usługą CDC bazy danych PostgreSQL
Na stronie Łączenie wybierz pozycję Nowe połączenie.
W sekcji Ustawienia połączenia wprowadź następujące informacje.
Serwer: adres serwera bazy danych PostgreSQL, na przykład my-pgsql-server.postgres.database.azure.com.
Baza danych: nazwa bazy danych, na przykład my_database.
Nazwa połączenia: wprowadź nazwę połączenia.
Rodzaj uwierzytelniania, wybierz pozycję Podstawowa i wprowadź nazwę użytkownika i hasło dla bazy danych.
Uwaga
Obecnie strumienie zdarzeń Fabric obsługują tylko uwierzytelnianie podstawowe.
Wybierz pozycję Połącz , aby ukończyć ustawienia połączenia.
Port: wprowadź numer portu serwera. Wartość domyślna to 5432. Jeśli wybrane połączenie w chmurze jest skonfigurowane w Zarządzanie połączeniami i bramami, upewnij się, że numer portu jest zgodny z tym ustawionym. Jeśli nie są one zgodne, numer portu w połączeniu z chmurą w Zarządzanie połączeniami i bramami ma pierwszeństwo.
Podczas przechwytywania zmian z tabel bazy danych można wybrać dwie opcje:
- Wszystkie tabele: przechwyć zmiany z każdej tabeli w bazie danych.
-
Wprowadź nazwy tabel: umożliwia określenie podzbioru tabel przy użyciu listy rozdzielanej przecinkami. Możesz użyć jednego z następujących typów: pełnych identyfikatorów tabeli w formacie
schemaName.tableNamelub prawidłowych wyrażeniach regularnych. Przykłady: -
dbo.test.*: Wybierz wszystkie tabele, których nazwy zaczynają się odtestw schemaciedbo. -
dbo\.(test1|test2): Wybierzdbo.test1idbo.test2.
Oba formaty można połączyć na liście. Całkowity limit znaków dla całego wpisu wynosi 102 400 znaków.
Nazwa miejsca (opcjonalnie): wprowadź nazwę gniazda dekodowania logicznego PostgreSQL, które zostało utworzone na potrzeby przesyłania strumieniowego zmian z konkretnej wtyczki dla określonej bazy danych/schematu. Serwer używa tego miejsca do przesyłania zdarzeń do łącznika strumieniowego Eventstream. Musi zawierać tylko małe litery, cyfry i podkreślenia.
- Jeśli nie zostanie określony żaden identyfikator GUID, używany jest do stworzenia slotu, co wymaga posiadania odpowiednich uprawnień bazy danych.
- Jeśli istnieje określona nazwa miejsca, łącznik używa jej wprost.
Możesz rozwinąć Ustawienia zaawansowane, aby uzyskać dostęp do większej liczby opcji konfiguracji źródła bazy danych PostgreSQL CDC.
Nazwa publikacji: określa nazwę publikacji replikacji logicznej PostgreSQL, którą należy użyć. Musi ona być zgodna z istniejącą publikacją w bazie danych lub zostanie utworzona automatycznie w zależności od trybu automatycznego tworzenia. Wartość domyślna:
dbz_publication.Uwaga
Aby utworzyć publikację, użytkownik łącznika musi mieć uprawnienia administratora. Zaleca się ręczne utworzenie publikacji przed uruchomieniem łącznika po raz pierwszy, aby uniknąć problemów związanych z uprawnieniami.
Tryb automatycznego tworzenia publikacji: określa, czy i jak publikacja jest tworzona automatycznie. Dostępne opcje:
-
Filtered(ustawienie domyślne): Jeśli określona publikacja nie istnieje, łącznik tworzy ten, który zawiera tylko wybrane tabele (jak określono na liście dołączanej do tabeli). -
AllTables: Jeśli określona publikacja istnieje, łącznik jej używa. Jeśli nie istnieje, łącznik tworzy jeden, który zawiera wszystkie tabele w bazie danych. -
Disabled: Łącznik nie tworzy publikacji. Jeśli brakuje określonej publikacji, łącznik zgłasza wyjątek i zatrzymuje się. W takim przypadku publikacja musi zostać utworzona ręcznie w bazie danych.
Aby uzyskać więcej informacji, zobacz dokumentację debezium dotyczącą trybu automatycznego tworzenia publikacji
-
Tryb obsługi dziesiętnej: określa, jak łącznik obsługuje wartości kolumn PostgreSQL
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. Poprawia to użyteczność i wydajność, ale może spowodować utratę precyzji. -
String: koduje wartości jako sformatowane ciągi. Ułatwia to korzystanie z nich w systemach podrzędnych, ale traci semantyczne informacje o oryginalnym typie liczbowym.
-
Tryb migawki: Wskaż kryteria dotyczące sposobu 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 przełącza się na przesyłanie strumieniowe w celu odczytu zdarzeń zmiany z dziennika binarnego. -
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.
-
Zapytanie działania pulsu: specyfikuje zapytanie, które łącznik wykonuje w źródłowej bazie danych, kiedy łącznik wysyła komunikat pulsu.
Zastępowanie zapytania select migawki: określa wiersze tabeli do uwzględnienia w migawce. Użyj właściwości , jeśli chcesz, aby migawka zawierała tylko podzbiór wierszy w tabeli. Ta właściwość ma wpływ tylko na migawki. Nie ma zastosowania do zdarzeń odczytanych przez łącznik z dziennika.
Na stronie Przeglądanie i łączenie przejrzyj podsumowanie, a następnie wybierz pozycję Dodaj.
Wyświetlanie zaktualizowanego strumienia zdarzeń
Możesz zobaczyć dodane źródło CDC bazy danych PostgreSQL do swojego strumienia zdarzeń w trybie Edytuj.
Aby zaimplementować to nowo dodane źródło CDC bazy danych PostgreSQL, wybierz pozycję Publikuj. Po wykonaniu tych kroków źródło CDC bazy danych PostgreSQL jest dostępne do wizualizacji w widoku na żywo.
Powiązana zawartość
Inne łączniki:
- Strumienie danych Amazon Kinesis
- Azure Cosmos DB
- Azure Event Hubs
- Azure Service Bus
- Azure IoT Hub
- Przechwytywanie zmian danych w usłudze Azure SQL Database (CDC)
- Confluent Kafka
- Niestandardowy punkt końcowy
- Google Cloud Pub/Sub
- CDC bazy danych MySQL
- CDC bazy danych PostgreSQL
- Dane przykładowe
- Zdarzenia usługi Azure Blob Storage
- Zdarzenie obszaru roboczego Fabric