Sdílet prostřednictvím


Přidání zdroje CDC služby Azure SQL Database do streamu událostí

V tomto článku se dozvíte, jak přidat zdroj služby Azure SQL Database Change Data Capture (CDC) do streamu událostí.

Zdrojový konektor Azure SQL Database CDC pro streamy událostí Microsoft Fabric umožňuje zachytit snímek aktuálních dat v databázi Azure SQL. Konektor pak monitoruje a zaznamenává všechny budoucí změny na úrovni řádků na těchto datech. Jakmile se změny zachytí v streamu událostí, můžete tato data CDC zpracovat v reálném čase a odeslat je do různých cílů v rámci infrastruktury pro další zpracování nebo analýzu.

Požadavky

  • Přístup k pracovnímu prostoru v režimu kapacitní licence Fabric nebo ve zkušebním režimu licence s oprávněními Přispěvatele nebo vyššími.
  • Spuštěný server Azure SQL s databází Azure SQL.
  • Vaše databáze Azure SQL musí být veřejně přístupná a nesmí být za bránou firewall nebo zabezpečená ve virtuální síti.
  • Povolení CDC v databázi Azure SQL spuštěním uložené procedury sys.sp_cdc_enable_db. Podrobnosti najdete v tématu Povolení a zakázání zachytávání dat změn.
  • Pokud nemáte stream událostí, vytvořte stream událostí.

Upozorňujeme, že ve své databázi Azure SQL nesmíte povolit zrcadlení.

Povolení CDC ve službě Azure SQL Database

  1. Přejděte na web Azure Portal, otevřete databázi Azure SQL a vyberte Editor dotazů. Vyberte metodu ověřování pro přihlášení.

    Snímek obrazovky s otevřením databáze Azure SQL

  2. Spuštěním následujících příkazů SQL povolte CDC ve vaší databázi:

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

Spusťte průvodce Vyberte zdroj dat.

Pokud jste ještě do streamu událostí nepřidali žádný zdroj, vyberte dlaždici Použít externí zdroj .

Snímek obrazovky znázorňující výběr dlaždice pro použití externího zdroje

Pokud přidáváte zdroj do již publikovaného streamu událostí, přepněte do režimu úprav . Na pásu karet vyberte Přidat zdroj>Externí zdroje.

Snímek obrazovky znázorňující výběry pro přidání externích zdrojů

Na stránce Vybrat zdroj dat vyhledejte a vyberte Připojit na dlaždici Azure SQL DB (CDC).

Snímek obrazovky znázorňující výběr CDC Azure SQL Database jako typu zdroje v průvodci získávání událostí

Konfigurace a připojení ke službě Azure SQL Database CDC

  1. Na stránce Připojit vyberte Nové připojení.

    Snímek obrazovky znázorňující stránku Připojení v průvodci získáváním událostí se zvýrazněným odkazem **Nové připojení**.

  2. V části Nastavení připojení zadejte následující hodnoty pro vaši databázi Azure SQL:

    • Server: Zadejte název serveru Azure SQL z webu Azure Portal. Je v této podobě: mysqlservername.database.windows.net.

    • Databáze: Zadejte název databáze Azure SQL z webu Azure Portal.

      Snímek obrazovky znázorňující část Nastavení připojení na stránce Nové připojení

  3. Posuňte se dolů a v části Přihlašovací údaje připojení postupujte takto.

    • Jako název připojení zadejte název připojení.

    • Jako druh ověřování vyberte Základní.

      Poznámka:

      V současné době Eventstream podporuje pouze Basic ověřování.

    • Zadejte uživatelské jméno a heslo pro databázi.

  4. Vyberte Připojit.

    Snímek obrazovky znázorňující část Přihlašovací údaje připojení na stránce Nové připojení

  5. Teď na stránce Připojit vyberte Všechny tabulky nebo Zadejte názvy tabulek. Pokud vyberete druhou možnost, zadejte tabulky pomocí čárkami odděleného seznamu úplných identifikátorů tabulky (schemaName.tableName) nebo platných regulárních výrazů. Například:

    • Pomocí dbo.test.* vyberte všechny tabulky, jejichž názvy začínají dbo.test.
    • Pomocí dbo\.(test1|test2) vyberte dbo.test1 a dbo.test2.

    Oba formáty můžete kombinovat pomocí čárek. Celkový limit znaků pro celou položku je 102 400 znaků.

  6. Můžete rozbalit Upřesňující nastavení pro přístup k dalším možnostem konfigurace pro zdroj CDC služby Azure SQL Database:

    • Režim zpracování desetinných míst: Definuje, jak spojnice zpracovává hodnoty sloupců označené jako DECIMAL a NUMERIC:
      • Precise: Představuje hodnoty používající přesné desetinné typy (například Java BigDecimal) k zajištění úplné přesnosti a přesnosti v reprezentaci dat.
      • Double: Převede hodnoty na čísla s dvojitou přesností. Toto nastavení zlepšuje použitelnost a výkon, ale může vést ke ztrátě přesnosti.
      • String: Zakóduje hodnoty jako formátované řetězce. Toto nastavení usnadňuje používání v podřízených systémech, ale ztratí sémantické informace o původním číselném typu.
    • Režim snímku: Zadejte kritéria pro provedení snímku při spuštění konektoru:
      • Initial: Konektor spustí snímek pouze v případě, že nebyly zaznamenány žádné posuny pro název logického serveru nebo pokud zjistí, že se dřívější snímek nepodařilo dokončit. Po dokončení snímku konektor začne streamovat záznamy událostí pro následné změny databáze.
      • InitialOnly: Konektor spustí snímek pouze tehdy, když pro logický název serveru nejsou zaznamenány žádné offsety. Po dokončení snímku se konektor zastaví. Neprovádí přechod na streamování, aby se načetly události změn z binlogu.
      • NoData: Konektor spustí snímek, který zachycuje pouze schéma, ale ne žádná data tabulky. Tuto možnost nastavte, pokud nepotřebujete konzistentní snímek dat, ale od spuštění konektoru potřebujete jenom změny, ke které dochází.
    • Seznam vyloučení sloupců: Určuje sloupce, které se mají vyloučit ze změn hodnot událostí pomocí plně kvalifikovaných názvů (schemaName.tableName.columnName).
    • Databázový applicationIntent: Určuje chování směrování ve skupinách dostupnosti SQL Serveru Always On:
      • ReadWrite: Připojí se k primární replice. Tuto možnost použijte, pokud připojení potřebuje provádět operace čtení i zápisu.
      • ReadOnly: Umožňuje směrování do sekundární repliky pro čtení. Použijte ho k povolení CDC přímo na replikách. Je třeba nastavit snapshot.isolation.mode na ‘snapshot’, což je jediný režim izolace transakcí podporovaný pro repliky pouze pro čtení.
    • Přepsání příkazu Snapshot select: Vlastnost použijte, pokud chcete, aby snímek zahrnoval pouze podmnožinu řádků v tabulce. Tato vlastnost má vliv pouze na snímky. Nevztahuje se na události, které konektor čte z protokolu.
  7. Vyberte Další.

    Snímek obrazovky, který znázorňuje vyplněnou stránku Připojení v Průvodci událostmi.

  8. Na obrazovce Zkontrolovat a vytvořit si prohlédněte souhrn a pak vyberte Přidat.

    Snímek obrazovky zobrazující stránku Zkontrolovat a vytvořit v průvodci Získávání událostí vyplněnou.

Ingestování změn dat z databází Azure SQL s automatickou registrací schématu tabulky prostřednictvím CDC do eventstreamu

  1. Na stránce Připojit vyberte Nové připojení.

    Snímek obrazovky znázorňující stránku Připojení v průvodci událostmi se zvýrazněným odkazem Nové připojení

  2. V části Nastavení připojení zadejte následující hodnoty pro vaši databázi Azure SQL:

    • Server: Zadejte název serveru Azure SQL z webu Azure Portal. Je v této podobě: mysqlservername.database.windows.net.

    • Databáze: Zadejte název databáze Azure SQL z webu Azure Portal.

      Snímek obrazovky znázorňující část Nastavení připojení na stránce Nové připojení

  3. Posuňte se dolů a v části Přihlašovací údaje připojení postupujte takto.

    • Jako název připojení zadejte název připojení.

    • Jako druh ověřování vyberte Základní.

      Poznámka:

      V současné době Fabric Eventstream podporuje pouze Základní ověřování.

    • Zadejte uživatelské jméno a heslo pro databázi.

  4. Vyberte Připojit.

    Snímek obrazovky znázorňující část Přihlašovací údaje připojení na stránce Nové připojení

  5. Teď na stránce Připojit vyberte Všechny tabulky nebo Zadejte názvy tabulek. Pokud vyberete druhou možnost, zadejte tabulky pomocí čárkami odděleného seznamu úplných identifikátorů tabulky (schemaName.tableName) nebo platných regulárních výrazů. Například:

    • Pomocí dbo.test.* vyberte všechny tabulky, jejichž názvy začínají dbo.test.
    • Pomocí dbo\.(test1|test2) vyberte dbo.test1 a dbo.test2.

    Oba formáty můžete kombinovat pomocí čárek. Celkový limit znaků pro celou položku je 102 400 znaků.

  6. Můžete rozbalit Upřesňující nastavení pro přístup k dalším možnostem konfigurace pro zdroj CDC služby Azure SQL Database:

    • Režim zpracování desetinných míst: Definuje, jak spojnice zpracovává hodnoty sloupců označené jako DECIMAL a NUMERIC:
      • Precise: Představuje hodnoty používající přesné desetinné typy (například Java BigDecimal) k zajištění úplné přesnosti a přesnosti v reprezentaci dat.
      • Double: Převede hodnoty na čísla s dvojitou přesností. Toto nastavení zlepšuje použitelnost a výkon, ale může vést ke ztrátě přesnosti.
      • String: Zakóduje hodnoty jako formátované řetězce. Toto nastavení usnadňuje používání v podřízených systémech, ale ztratí sémantické informace o původním číselném typu.
    • Režim snímku: Zadejte kritéria pro provedení snímku při spuštění konektoru:
      • Initial: Konektor spustí snímek pouze v případě, že nebyly zaznamenány žádné posuny pro název logického serveru nebo pokud zjistí, že se dřívější snímek nepodařilo dokončit. Po dokončení snímku konektor začne streamovat záznamy událostí pro následné změny databáze.
      • InitialOnly: Konektor spustí snímek pouze tehdy, když pro logický název serveru nejsou zaznamenány žádné offsety. Po dokončení snímku se konektor zastaví. Neprovádí přechod na streamování, aby se načetly události změn z binlogu.
      • NoData: Konektor spustí snímek, který zachycuje pouze schéma, ale ne žádná data tabulky. Tuto možnost nastavte, pokud nepotřebujete konzistentní snímek dat, ale od spuštění konektoru potřebujete jenom změny, ke které dochází.
    • Seznam vyloučení sloupců: Určuje sloupce, které se mají vyloučit ze změn hodnot událostí pomocí plně kvalifikovaných názvů (schemaName.tableName.columnName).
    • Databázový applicationIntent: Určuje chování směrování ve skupinách dostupnosti SQL Serveru Always On:
      • ReadWrite: Připojí se k primární replice. Tuto možnost použijte, pokud připojení potřebuje provádět operace čtení i zápisu.
      • ReadOnly: Umožňuje směrování do sekundární repliky pro čtení. Použijte ho k povolení CDC přímo na replikách. Je třeba nastavit snapshot.isolation.mode na ‘snapshot’, což je jediný režim izolace transakcí podporovaný pro repliky pouze pro čtení.
    • Přepsání příkazu Snapshot select: Vlastnost použijte, pokud chcete, aby snímek zahrnoval pouze podmnožinu řádků v tabulce. Tato vlastnost má vliv pouze na snímky. Nevztahuje se na události, které konektor čte z protokolu.
  7. Povolte přidružení schématu událostí.

  8. V části Pracovní prostor vyberte pracovní prostor Infrastruktury pro sadu schémat.

  9. Pro sadu schémat je ve výchozím nastavení vybrána možnost + Vytvořit , která vytvoří novou sadu schématu. Můžete ho změnit a vybrat existující sadu schémat událostí.

  10. Pokud jste v předchozím kroku vybrali možnost + Vytvořit , zadejte název sady schémat.

    Snímek obrazovky znázorňující nastavení schématu pro zdroj CDC služby Azure SQL Database

  11. Na stránce Recenze + připojení zvolte Přidat.

    Snímek obrazovky znázorňující stránku revize a připojení pro zdroj CDC služby Azure SQL Database

    Pro všechny tabulky nebo vybrané tabulky v databázi Azure SQL konektor automaticky vyhledá a vytvoří schémata a zaregistruje je v registru schémat.

  12. Vyberte uzel eventstream uprostřed a v dolním podokně přepněte na kartu Přidružené schémata .

    Snímek obrazovky znázorňující okno Přidružené schéma v dolním podokně

Sada schémat

  1. Přejděte do pracovního prostoru, který jste vybrali v předchozím kroku. V následujícím příkladu je to Můj pracovní prostor.

  2. Vyberte sadu schémat, kterou vytvořil konektor Azure SQL Database (CDC).

    Snímek obrazovky znázorňující vygenerovanou sadu schématu na stránce Můj pracovní prostor

  3. Zobrazí se schémata v sadě schémat, jak je znázorněno na následujícím obrázku.

    Snímek obrazovky znázorňující schémata ve vygenerované sadě schémat

  4. Pokud chcete zobrazit verzi schématu JSON, přepněte do zobrazení schématu JSON .

    Snímek obrazovky znázorňující zobrazení schématu JSON

    Neměňte tato zjištěná schémata pomocí tohoto editoru, protože se stává nepotvrzeným schématem tabulek ve zdroji databáze Azure SQL.

Zobrazení aktualizovaného streamu událostí

  1. V režimu úprav můžete vidět zdroj Azure SQL Database (CDC) přidaný do streamu událostí.

    Snímek obrazovky se streamovaným zdrojem CDC služby Azure SQL Database v zobrazení pro úpravy

  2. Pokud chcete implementovat nově přidaný zdroj CDC služby Azure SQL Database, vyberte Publikovat. Po dokončení těchto kroků je zdroj CDC služby Azure SQL Database k dispozici pro vizualizaci v živém zobrazení.

    Snímek obrazovky se streamovaným zdrojem CDC služby Azure SQL Database v živém zobrazení

Konfigurace cílů eventstreamu pro použití schémat

V současné době jsou pro eventstreamy s povolenými rozšířenými funkcemi podporovány pouze eventhouse, vlastní koncový bod a odvozené datové proudy jako cíle. V této části se dozvíte, jak přidat a nakonfigurovat cíl pro Eventhouse, když jsou pro proud událostí povoleny rozšířené funkce, jako je podpora schématu.

Konfigurace schématu pro vlastní cílový koncový bod

  1. Vyberte Převod událostí nebo přidání cíle a potom zvolte CustomEndpoint.

  2. V podokně Vlastní koncový bod zadejte název cíle.

  3. V části Vstupní schéma vyberte schéma událostí. Když povolíte podporu schématu pro eventstream, provedete výběr v tomto poli.

Snímek obrazovky znázorňující podokno pro konfiguraci vlastního koncového bodu

Podrobný postup konfigurace vlastního cíle koncového bodu najdete v tématu Přidání vlastního koncového bodu nebo vlastního cíle aplikace do eventstreamu.

Konfigurace schémat pro cíl centra událostí

  1. Vyberte možnost Transformovat události nebo přidat cíl, poté vyberte Eventhouse.

  2. V podokně Eventhouse nakonfigurujte následující nastavení související se schématem:

    1. V části Vstupní schéma vyberte jedno nebo více schémat z rozevíracího seznamu.

      Snímek obrazovky znázorňující podokno konfigurace centra událostí s vybraným vstupním schématem

      Poznámka:

      Pokud jste při konfiguraci zdroje služby Event Hubs vybrali dynamické schéma prostřednictvím hlaviček , možná jste pro zdroj nakonfigurovali více schémat a namapovali je na různé vlastnosti a jejich hodnoty.

    2. Pro metodu vytvoření tabulky vyberte jednu tabulku se všemi schématy zkombinované nebo oddělené tabulky pro každé schéma v závislosti na vašich požadavcích.

      Snímek obrazovky znázorňující podokno konfigurace centra událostí s metodami vytvoření tabulky

    3. Pro zápis dat pomocí vyberte jednu z následujících možností:

      • Pouze datová část: Zapište do tabulky extrahovaná data datové části. Pokud existuje více vstupních schémat, data se odesílají do více tabulek.
      • Metadata a užitečná data: Zapište metadata a užitečná data do jedné tabulky. Mezi příklady sloupců patří source , subject, typea data.

      Snímek obrazovky znázorňující podokno konfigurace centra událostí s možnostmi zápisu dat

Podrobný postup konfigurace cíle eventhouse najdete v tématu Přidání cíle eventhouse do eventstreamu.

Další konektory: