Transformace dat pomocí aktivity uložené procedury SQL Serveru v Azure Data Factory nebo Synapse Analytics

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Pro ekvivalentní aktivitu v Data Factory v Microsoft Fabric viz aktivita uložených procedur.

Aktivity transformace dat v datovém potrubí Data Factory nebo Synapse slouží k transformaci a zpracování nezpracovaných dat na předpovědi a poznatky. 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 Introduction Azure Data Factory a proveďte kurz: Tutorial: transformace dat před přečtením tohoto článku. Další informace o Synapse Analytics najdete v článku 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č, který má přístup k databázi. Self-Hosted Integration Runtime je komponenta, která připojuje zdroje dat místně/na Azure virtuálním počítači 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 Azure SQL Database nebo SQL Server můžete nakonfigurovat vlastnost SqlSink v aktivitě kopírování a vyvolat 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. Vyvolá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 v Azure Synapse Analytics.

Při kopírování dat z Azure SQL Database nebo SQL Server nebo Azure Synapse Analytics můžete nakonfigurovat SqlSource v aktivitě kopírování a vyvolat 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

Aktivita Stored Procedure nepodporuje výstupní parametry. Pro spuštění uložené procedury, která vrací výstupní parametry nebo výsledky, použijte místo toho aktivitu Vyhledávání nebo Skript.

Pokud zavoláte uloženou proceduru s výstupními parametry pomocí aktivity uložených procedur, dojde k následující chybě:

Execution fail against sql server. Please contact SQL Server team if you need further support. Sql error number: 201. Error Message: Procedure or function 'sp_name' expects parameter '@output_param_name', which was not supplied.

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. Chcete-li upravit podrobnosti, vyberte na plátně novou aktivitu Uložená procedura, pokud ještě není vybraná, a její kartu Nastavení .

    Zobrazuje uživatelské rozhraní pro aktivitu uložené procedury.

  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é
název Název aktivity Ano
popis Text popisující, k čemu se aktivita používá Ne
typ Pro aktivitu typu uložené procedury je typ aktivity SqlServerStoredProcedure Ano
názevPrepojenéSlužby Odkaz na 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 (název uložené procedury) Zadejte název uložené procedury, která se má vyvolat. Ano
parametry uložené procedury 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). Ne

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: