カスタム タスクの作成
適用対象: SQL Server Azure Data Factory の SSIS 統合ランタイム
カスタム タスクの作成手順は、Integration Services の他のカスタム オブジェクトの作成手順と同様です。
基本クラスを継承する新しいクラスを作成します。 タスクの場合、基本クラスは Microsoft.SqlServer.Dts.Runtime.Task です。
クラスに、オブジェクトの種類を識別する属性を適用します。 タスクの属性は DtsTaskAttribute です。
基本クラスのメソッドとプロパティの実装をオーバーライドします。 タスクでは、Validate メソッドおよび Execute メソッドが対象です。
必要に応じて、カスタム ユーザー インターフェイスを開発します。 タスクでは、IDtsTaskUI インターフェイスを実装するクラスが必要です。
カスタム タスクの概要
プロジェクトおよびクラスの作成
すべてのマネージド タスクは Microsoft.SqlServer.Dts.Runtime.Task 基本クラスから派生するため、カスタム タスクを作成するには、最初に任意のマネージド プログラミング言語でクラス ライブラリ プロジェクトを作成し、基本クラスを継承するクラスを作成します。 この派生クラスで、基本クラスのメソッドとプロパティをオーバーライドして、カスタム機能を実装します。
同じソリューション内に、もう 1 つのクラス ライブラリ プロジェクトをカスタム ユーザー インターフェイス用に作成します。 配置を容易にするため、ユーザー インターフェイス用に別個のアセンブリを使用することをお勧めします。そうすれば、接続マネージャーやそのユーザー インターフェイスの更新や再配置を個別に行うことができます。
どちらのプロジェクトも、アセンブリに署名するよう構成します。アセンブリは、厳密な名前のキー ファイルを使用して、ビルド時に生成されます。
DtsTask 属性の適用
作成したクラスに DtsTaskAttribute 属性を適用して、そのクラスがタスクとして識別されるようにします。 この属性には、名前、説明、およびタスクの種類など、デザイン時の情報を指定します。
UITypeName プロパティを使用して、タスクをそのカスタム ユーザー インターフェイスにリンクします。 このプロパティに必要な公開キー トークンを取得するには、sn.exe -t を使用して、ユーザー インターフェイス アセンブリへの署名に使用するキー ペア (.snk) ファイルから公開キー トークンを表示します。
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
[DtsTask
(
DisplayName = "MyTask",
IconResource = "MyTask.MyTaskIcon.ico",
UITypeName = "My Custom Task," +
"Version=1.0.0.0," +
"Culture = Neutral," +
"PublicKeyToken = 12345abc6789de01",
TaskType = "PackageMaintenance",
TaskContact = "MyTask; company name; any other information",
RequiredProductLevel = DTSProductLevel.None
)]
public class MyTask : Task
{
// Your code here.
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
<DtsTask(DisplayName:="MyTask", _
IconResource:="MyTask.MyTaskIcon.ico", _
UITypeName:="My Custom Task," & _
"Version=1.0.0.0,Culture=Neutral," & _
"PublicKeyToken=12345abc6789de01", _
TaskType:="PackageMaintenance", _
TaskContact:="MyTask; company name; any other information", _
RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
Inherits Task
' Your code here.
End Class 'MyTask
カスタム タスクの作成、配置、およびデバッグ
Integration Services でカスタム タスクを作成、配置、およびデバッグする手順は、その他の種類のカスタム オブジェクトで必要な手順とほとんど同様です。 詳細については、「カスタム オブジェクトのビルド、配置、デバッグ」を参照してください。