Kurz: synchronizace dat z Edge SQL do úložiště objektů BLOB v Azure pomocí Azure Data Factory
V tomto kurzu použijete Azure Data Factory k přírůstkové synchronizaci dat do služby Azure Blob Storage z tabulky v instanci Azure SQL Edge.
Než začnete
Pokud jste ještě nevytvořili databázi nebo tabulku v nasazení Azure SQL Edge, použijte jednu z těchto metod k jejímu vytvoření:
K připojení k SQL Edge použijte SQL Server Management Studio nebo Azure Data Studio . Spusťte skript SQL pro vytvoření databáze a tabulky.
Vytvořte databázi a tabulku pomocí nástroje Sqlcmd přímým připojením k modulu SQL Edge. Další informace najdete v tématu připojení k databázovému stroji pomocí nástroje Sqlcmd.
Pomocí SQLPackage.exe nasaďte soubor balíčku DAC do kontejneru SQL Edge. Tento proces můžete automatizovat zadáním identifikátoru URI souboru SqlPackage jako součást konfigurace požadovaných vlastností modulu. K nasazení balíčku DAC do SQL Edge můžete také použít přímo Nástroj klienta SqlPackage.exe.
Informace o tom, jak stáhnout SqlPackage.exe, najdete v tématu Stažení a instalace SqlPackage. Následuje několik ukázkových příkazů pro SqlPackage.exe. Další informace najdete v dokumentaci k SqlPackage.exe.
Vytvoření balíčku DAC
sqlpackage /Action:Extract /SourceConnectionString:"Data Source=<Server_Name>,<port>;Initial Catalog=<DB_name>;User ID=<user>;Password=<password>" /TargetFile:<dacpac_file_name>Použití balíčku DAC
sqlpackage /Action:Publish /Sourcefile:<dacpac_file_name> /TargetServerName:<Server_Name>,<port> /TargetDatabaseName:<DB_Name> /TargetUser:<user> /TargetPassword:<password>
Vytvoření tabulky a procedury SQL pro ukládání a aktualizaci úrovní meze
Tabulka meze se používá k uložení posledního časového razítka, na které už byla synchronizovaná data s Azure Storage. Uloženou proceduru jazyka Transact-SQL (T-SQL) slouží k aktualizaci tabulky meze po každé synchronizaci.
Spusťte tyto příkazy na instanci SQL Edge:
Create table [dbo].[watermarktable]
(
TableName varchar(255),
WatermarkValue datetime,
)
GO
CREATE PROCEDURE usp_write_watermark @timestamp datetime, @TableName varchar(50)
AS
BEGIN
UPDATE [dbo].[watermarktable]
SET [WatermarkValue] = @timestamp
WHERE [TableName] = @TableName
END
Go
Vytvoření kanálu Data Factory
V této části vytvoříte kanál Azure Data Factory k synchronizaci dat do služby Azure Blob Storage z tabulky ve službě Azure SQL Edge.
Vytvoření datové továrny pomocí Data Factoryho uživatelského rozhraní
Pomocí pokynů v tomto kurzuVytvořte datovou továrnu.
Vytvoření kanálu Data Factory
Na stránce Začínáme v uživatelském rozhraní Data Factory vyberte vytvořit kanál.

Na stránce Obecné v okně vlastnosti pro kanál zadejte PeriodicSync pro název.
Přidejte aktivitu vyhledávání a získejte tak starou hodnotu meze. V podokně aktivity rozbalte Obecné a přetáhněte aktivitu vyhledávání na plochu návrháře kanálu. Změňte název aktivity na OldWatermark.

Přepněte na kartu Nastavení a pro zdrojovou datovou sadu vyberte Nový . Nyní vytvoříte datovou sadu, která bude představovat data v tabulce meze. Tato tabulka obsahuje starou mez, která se použila v předchozí operaci kopírování.
V okně Nová datová sada vyberte Azure SQL Server a pak vyberte pokračovat.
V okně nastavit vlastnosti pro datovou sadu v části název zadejte WatermarkDataset.
V případě propojené služby vyberte Nový a pak dokončete tyto kroky:
Do pole název zadejte SQLDBEdgeLinkedService.
V části název serveru zadejte podrobnosti serveru SQL Edge.
V seznamu vyberte název vaší databáze .
Zadejte své uživatelské jméno a heslo.
Chcete-li otestovat připojení k instanci SQL Edge, vyberte možnost Test připojení.
Vyberte Vytvořit.

- Vyberte OK.
Na kartě Nastavení vyberte Upravit.
Na kartě připojení vyberte [dbo]. [ vodotisk] pro tabulku. Chcete-li zobrazit náhled dat v tabulce, vyberte možnost Náhled dat.
Přepněte do editoru kanálů tak, že vyberete kartu kanál v horní části nebo vyberete název kanálu ve stromovém zobrazení vlevo. V okně vlastnosti aktivity vyhledávání potvrďte, že je v seznamu zdrojovou datovou sadu vybraná možnost WatermarkDataset .
V podokně aktivity rozbalte Obecné a přetáhněte další aktivitu vyhledávání na plochu návrháře kanálu. Na kartě Obecné v okně Vlastnosti nastavte název na NewWatermark . Tato aktivita vyhledávání získá novou hodnotu meze z tabulky, která obsahuje zdrojová data, aby se mohla zkopírovat do cíle.
V okně Vlastnosti druhé aktivity vyhledávání přepněte na kartu Nastavení a výběrem možnosti nové Vytvořte datovou sadu, která bude odkazovat na zdrojovou tabulku, která obsahuje novou hodnotu meze.
V okně Nová datová sada vyberte instance SQL Edge a pak vyberte pokračovat.
V okně nastavit vlastnosti v části název zadejte SourceDataset. V části propojená služba vyberte SQLDBEdgeLinkedService.
V části tabulka vyberte tabulku, kterou chcete synchronizovat. Můžete také zadat dotaz pro tuto datovou sadu, jak je popsáno dále v tomto kurzu. Dotaz má přednost před tabulkou, kterou zadáte v tomto kroku.
Vyberte OK.
Přepněte do editoru kanálů tak, že vyberete kartu kanál v horní části nebo vyberete název kanálu ve stromovém zobrazení vlevo. V okně vlastnosti aktivity vyhledávání potvrďte, že je v seznamu zdrojovou datovou sadu vybraná možnost SourceDataset .
V části použít dotaz vyberte dotaz . Aktualizujte název tabulky v následujícím dotazu a pak zadejte dotaz. Vybíráte pouze maximální hodnotu
timestampz tabulky. Nezapomeňte vybrat pouze první řádek.select MAX(timestamp) as NewWatermarkvalue from [TableName]
V podokně aktivity rozbalte přesunout & transformovat a přetáhněte aktivitu kopírování z podokna aktivity na plochu návrháře. Nastavte název aktivity na IncrementalCopy.
Propojte obě aktivity vyhledávání s aktivitou kopírování přetažením zeleného tlačítka připojeného k aktivitám vyhledávání na aktivitu kopírování. Až se barva ohraničení aktivity kopírování změní na modrou, uvolněte tlačítko myši.
Vyberte aktivitu kopírování a ověřte, že se v okně Vlastnosti zobrazí vlastnosti aktivity.
V okně vlastnosti přepněte na kartu zdroj a proveďte tyto kroky:
V poli zdrojová datová sada vyberte SourceDataset.
V části použít dotaz vyberte dotaz.
Do pole dotaz zadejte dotaz SQL. Tady je ukázkový dotaz:
select * from TemperatureSensor where timestamp > '@{activity('OldWaterMark').output.firstRow.WatermarkValue}' and timestamp <= '@{activity('NewWaterMark').output.firstRow.NewWatermarkvalue}'Na kartě jímka vyberte v části datová sada jímky možnost Nový .
V tomto kurzu je úložiště dat jímky úložiště dat úložiště objektů BLOB v Azure. Vyberte úložiště objektů BLOB v Azure a potom v okně Nová datová sada vyberte pokračovat .
V okně Vybrat formát vyberte formát dat a pak vyberte pokračovat.
V okně nastavit vlastnosti v části název zadejte SinkDataset. V části propojená služba vyberte Nový. Nyní vytvoříte připojení (propojená služba) k úložišti objektů BLOB v Azure.
V okně Nová propojená služba (Azure Blob Storage) proveďte tyto kroky:
Do pole název zadejte AzureStorageLinkedService.
V části název účtu úložiště vyberte účet úložiště Azure pro vaše předplatné Azure.
Otestujte připojení a pak vyberte Dokončit.
V okně nastavit vlastnosti potvrďte, že je v části propojená služba vybraná možnost AzureStorageLinkedService . Vyberte vytvořit a OK.
Na kartě jímka vyberte Upravit.
V SinkDataset klikněte na kartu připojení a proveďte tyto kroky:
V části cesta k souboru zadejte asdedatasync/incrementalcopy, kde asdedatasync je název kontejneru objektů BLOB a incrementalcopy je název složky. Pokud tento kontejner neexistuje, vytvořte ho nebo použijte název existujícího kontejneru. Azure Data Factory automaticky vytvoří výstupní složku incrementalcopy , pokud neexistuje. Můžete také použít tlačítko Procházet u možnosti Cesta k souboru a přejít ke složce v kontejneru objektů blob.
V části soubor cesta k souboru vyberte Přidat dynamický obsah [ALT + P] a potom zadejte @CONCAT ("přírůstkové,", kanál (). RunId, '. txt ') v okně, které se otevře. Vyberte Dokončit. Název souboru se dynamicky generuje pomocí výrazu. Každé spuštění kanálu má jedinečné ID. Aktivita kopírování používá ID spuštění k vygenerování názvu souboru.
Přepněte do editoru kanálů tak, že vyberete kartu kanál v horní části nebo vyberete název kanálu ve stromovém zobrazení vlevo.
V podokně aktivity rozbalte Obecné a přetáhněte aktivitu uložená procedura z podokna aktivity na plochu návrháře kanálu. Propojte zelenou (úspěšnost) výstup aktivity kopírování s aktivitou uložené procedury.
Vyberte v Návrháři kanálu aktivitu uložená procedura a změňte její název na SPtoUpdateWatermarkActivity.
Přepněte na kartu účet SQL a v části propojená služba vyberte *QLDBEdgeLinkedService .
Přepněte na kartu uložená procedura a proveďte tyto kroky:
V části název uložené procedury vyberte [dbo]. [ usp_write_watermark].
Chcete-li zadat hodnoty parametrů uložené procedury, vyberte možnost importovat parametr a zadejte tyto hodnoty parametrů:
Název Typ Hodnota LastModifiedtime DateTime @ {Activity (' NewWaterMark '). Output. firstRow. NewWatermarkvalue} TableName Řetězec @ {Activity (' OldWaterMark '). Output. firstRow. TableName} Pokud chcete ověřit nastavení kanálu, vyberte ověřit na panelu nástrojů. Ověřte, že se nezobrazí žádné chyby ověření. Chcete-li zavřít okno Sestava ověření kanálu , vyberte >> .
Publikujte entity (propojené služby, datové sady a kanály) do služby Azure Data Factory tak, že vyberete tlačítko publikovat vše . Počkejte, dokud se nezobrazí zpráva s potvrzením, že operace publikování proběhla úspěšně.
Aktivace kanálu podle plánu
Na panelu nástrojů kanálu vyberte Přidat Trigger, vyberte Nový/upravit a pak vyberte Nový.
Pojmenujte aktivační událost HourlySync. V části typ vyberte plán. Nastavte opakování na každých 1 hodinu.
Vyberte OK.
Vyberte Publikovat vše.
Vyberte aktivovat nyní.
Vlevo přepněte na kartu Monitorování. Zobrazí se stav ručně aktivovaného spuštění kanálu. Seznam můžete aktualizovat kliknutím na Aktualizovat.
Další kroky
Kanál Azure Data Factory v tomto kurzu kopíruje data z tabulky v instanci SQL Edge do umístění v úložišti objektů BLOB v Azure každou hodinu. Další informace o používání Data Factory v jiných scénářích najdete v těchto kurzech.