Jazyk

Vytvoření vlastní komponenty toku dat

Platí pro:SQL Server SSIS Integration Runtime v rámci Azure Data Factory

V Microsoft Služby Integrace SQL Serveru úloha datového toku zpřístupňuje objektový model, který umožňuje vývojářům vytvářet vlastní komponenty datového toku – zdroje, transformace a cíle – pomocí Microsoft .NET Frameworku a spravovaného kódu.

Úloha toku dat se skládá z komponent, které obsahují rozhraní, IDTSComponentMetaData100 a kolekce objektů IDTSPath100 , které definují pohyb dat mezi komponentami.

Note

Když vytváříte vlastního poskytovatele, musíte aktualizovat ProviderDescriptors.xml soubor o hodnoty sloupců metadat.

Doba návrhu a délka provozu

Před vykonáním se o datovém toku říká, že je v designovém stavu, protože prochází postupnými změnami. Změny mohou zahrnovat přidání nebo odebrání komponent, přidání nebo odstranění objektů cesty spojujících komponenty a změny metadat těchto komponent. Když dojde ke změně metadat, komponenta může tyto změny monitorovat a reagovat na ně. Například komponenta může zakázat určité změny nebo provést další změny v reakci na tuto změnu. V době návrhu designér komunikuje se komponentou prostřednictvím rozhraní v době návrhu IDTSDesigntimeComponent100 .

Při spuštění datový tok úkol zkoumá sekvenci komponent, připravuje plán provádění a spravuje skupinu pracovních vláken, která plán práce vykonávají. Ačkoli každé pracovní vlákno vykonává nějakou práci interní pro úkol datového toku, hlavním úkolem pracovního vlákna je volat metody komponenty prostřednictvím run-time IDTSRuntimeComponent100 rozhraní.

Vytvoření komponenty

Pro vytvoření komponenty datového toku odvozíte třídu ze základní třídy PipelineComponent , aplikujete ji DtsPipelineComponentAttribute a poté přepsáte příslušné metody základní třídy. Implementuje PipelineComponentIDTSDesigntimeComponent100 rozhraní a IDTSRuntimeComponent100 zpřístupňuje své metody, které můžete přepsat ve své komponentě.

V závislosti na objektech použitých vaší komponentou bude váš projekt vyžadovat odkazy na některé nebo všechny následující sestavy:

funkce Sestava k odkazu Jmenný prostor pro import
Tok dat Microsoft. SqlServer.PipelineHost Microsoft.SqlServer.Dts.Pipeline
Obal datového toku Microsoft. SqlServer.DTSPipelineWrap Microsoft.SqlServer.Dts.Pipeline.Wrapper
Runtime Microsoft. SQLServer.ManagedDTS Microsoft.SqlServer.Dts.Runtime
Runtime wrapper Microsoft. SqlServer.DTSRuntimeWrap Microsoft.SqlServer.Dts.Runtime.Wrapper

Následující příklad kódu ukazuje jednoduchou komponentu, která pochází ze základní třídy a aplikuje .DtsPipelineComponentAttribute Musíte přidat odkaz na Microsoft. SqlServer.DTSPipelineWrap assembly.

using System;  
using Microsoft.SqlServer.Dts.Pipeline;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
  
namespace Microsoft.Samples.SqlServer.Dts  
{  
    [DtsPipelineComponent(DisplayName = "SampleComponent", ComponentType = ComponentType.Transform )]  
    public class BasicComponent: PipelineComponent  
    {  
        // TODO: Override the base class methods.  
    }  
}  
Imports Microsoft.SqlServer.Dts.Pipeline  
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper  
  
<DtsPipelineComponent(DisplayName:="SampleComponent", ComponentType:=ComponentType.Transform)> _  
Public Class BasicComponent  
  
    Inherits PipelineComponent  
  
    ' TODO: Override the base class methods.  
  
End Class