Transformace dat pomocí aktivity Uložená procedura SQL Serveru ve službě Azure Data Factory nebo Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Aktivity transformace dat v kanálu Data Factory nebo Synapse slouží k transformaci a zpracování nezpracovaných dat do předpovědí a přehledů. Aktivita Uložená procedura je jednou z transformačních aktivit, které kanály podporují. Tento článek vychází z článku o transformovaných datech , který představuje obecný přehled transformace dat a podporovaných aktivit transformace.

Poznámka:

Pokud s Azure Data Factory teprve začínáte, přečtěte si úvod do služby Azure Data Factory a proveďte kurz: Kurz: Transformace dat před přečtením tohoto článku. Další informace o Synapse Analytics najdete v tématu Co je Azure Synapse Analytics.

Pomocí aktivity Uložená procedura můžete vyvolat uloženou proceduru v jednom z následujících úložišť dat ve vašem podniku nebo na virtuálním počítači Azure:

  • Azure SQL Database
  • Azure Synapse Analytics
  • Databáze SQL Serveru. Pokud používáte SQL Server, nainstalujte místní prostředí Integration Runtime na stejný počítač, který je hostitelem databáze nebo na samostatný počítač s přístupem k databázi. Místní prostředí Integration Runtime je komponenta, která propojuje zdroje dat místně nebo na virtuálním počítači Azure s cloudovými službami zabezpečeným a spravovaným způsobem. Podrobnosti najdete v článku o místním prostředí Integration Runtime .

Důležité

Při kopírování dat do služby Azure SQL Database nebo SQL Serveru můžete nakonfigurovat sqlSink v aktivitě kopírování tak, aby vyvolala uloženou proceduru pomocí vlastnosti sqlWriterStoredProcedureName. Podrobnosti o vlastnosti najdete v následujících článcích o konektorech: Azure SQL Database, SQL Server. Volání uložené procedury při kopírování dat do Azure Synapse Analytics pomocí aktivity kopírování se nepodporuje. Aktivitu uložené procedury ale můžete použít k vyvolání uložené procedury ve službě Azure Synapse Analytics.

Při kopírování dat ze služby Azure SQL Database nebo SQL Serveru nebo Azure Synapse Analytics můžete nakonfigurovat SqlSource v aktivitě kopírování tak, aby vyvolal uloženou proceduru pro čtení dat ze zdrojové databáze pomocí vlastnosti sqlReaderStoredProcedureName. Další informace najdete v následujících článcích o konektorech: Azure SQL Database, SQL Server, Azure Synapse Analytics.

Pokud uložená procedura obsahuje výstupní parametry místo použití aktivity uložené procedury, použijte vyhledávání acitivty a aktivita Script. Aktivita uložené procedury zatím nepodporuje volání ip adres s výstupním parametrem.

Pokud voláte uloženou proceduru s výstupními parametry pomocí aktivity uložené procedury, dojde k následující chybě.

Spuštění se nezdaří proti sql serveru. Pokud potřebujete další podporu, obraťte se na tým SQL Serveru. Číslo chyby SQL: 201. Chybová zpráva: Procedura nebo funkce sp_name očekává parametr @output_param_name, který nebyl zadán.

Vytvoření aktivity uložené procedury pomocí uživatelského rozhraní

Pokud chcete v kanálu použít aktivitu Uložená procedura, proveďte následující kroky:

  1. Vyhledejte uloženou proceduru v podokně Aktivity kanálu a přetáhněte aktivitu Uložená procedura na plátno kanálu.

  2. Vyberte novou aktivitu Uložená procedura na plátně, pokud ještě není vybraná, a její Nastavení kartu pro úpravu podrobností.

    Shows the UI for a Stored Procedure activity.

  3. Vyberte existující nebo vytvořte novou propojenou službu pro Azure SQL Database, Azure Synapse Analytics nebo SQL Server.

  4. Zvolte uloženou proceduru a zadejte všechny parametry pro její spuštění.

Podrobnosti o syntaxi

Tady je formát JSON pro definování aktivity uložené procedury:

{
    "name": "Stored Procedure Activity",
    "description":"Description",
    "type": "SqlServerStoredProcedure",
    "linkedServiceName": {
        "referenceName": "AzureSqlLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "storedProcedureName": "usp_sample",
        "storedProcedureParameters": {
            "identifier": { "value": "1", "type": "Int" },
            "stringData": { "value": "str1" }

        }
    }
}

Následující tabulka popisuje tyto vlastnosti JSON:

Vlastnost Popis Povinní účastníci
name Název aktivity Ano
description Text popisující, k čemu se aktivita používá No
type Pro aktivitu uložená procedura je typ aktivity SqlServerStoredProcedure Ano
linkedServiceName Odkaz na Službu Azure SQL Database nebo Azure Synapse Analytics nebo SQL Server zaregistrovaný jako propojená služba ve službě Data Factory. Další informace o této propojené službě najdete v článku o propojených službách Compute. Ano
storedProcedureName Zadejte název uložené procedury, která se má vyvolat. Ano
storedProcedureParameters Zadejte hodnoty parametrů uložené procedury. Slouží "param1": { "value": "param1Value","type":"param1Type" } k předávání hodnot parametrů a jejich typu podporovaného zdrojem dat. Pokud potřebujete předat hodnotu null pro parametr, použijte "param1": { "value": null } (všechna malá písmena). No

Mapování datových typů parametrů

Datový typ, který zadáte pro parametr, je interní typ služby, který se mapuje na datový typ ve zdroji dat, který používáte. Mapování datových typů pro váš zdroj dat najdete v dokumentaci ke konektorům. Příklad:

Podívejte se na následující články, které vysvětlují, jak transformovat data jinými způsoby: