사용자 지정 태스크 만들기
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
사용자 지정 작업을 만드는 단계는 Integration Services에 대한 다른 사용자 지정 개체를 만드는 단계와 유사합니다.
기본 클래스에서 상속되는 새 클래스를 만듭니다. 태스크의 경우 기본 클래스는 Microsoft.SqlServer.Dts.Runtime.Task입니다.
개체 유형을 식별하는 특성을 클래스에 적용합니다. 작업의 경우 특성은 .입니다 DtsTaskAttribute.
기본 클래스의 메서드 및 속성 구현을 재정의합니다. 작업의 경우 이러한 작업에는 해당 및 메서드가 Validate 포함됩니다 Execute .
필요한 경우 사용자 지정 사용자 인터페이스를 개발합니다. 태스크의 경우 사용자 지정 사용자 인터페이스를 개발하려면 IDtsTaskUI 인터페이스를 구현하는 클래스가 필요합니다.
사용자 지정 작업 시작
프로젝트 및 클래스 만들기
모든 관리되는 작업은 Microsoft.SqlServer.Dts.Runtime.Task 기본 클래스에서 파생되므로 사용자 지정 작업을 만들 때 첫 번째 단계는 기본 관리형 프로그래밍 언어로 클래스 라이브러리 프로젝트를 만들고 기본 클래스에서 상속되는 클래스를 만드는 것입니다. 이 파생 클래스에서 기본 클래스의 메서드 및 속성을 재정의하여 사용자 지정 기능을 구현합니다.
동일한 솔루션에서 사용자 지정 사용자 인터페이스에 대한 두 번째 클래스 라이브러리 프로젝트를 만듭니다. 사용자 인터페이스에 대한 별도의 어셈블리는 연결 관리자 또는 해당 사용자 인터페이스를 독립적으로 업데이트하고 다시 배포할 수 있으므로 배포가 용이하도록 권장됩니다.
강력한 이름 키 파일을 사용하여 빌드 시 생성되는 어셈블리에 서명하도록 두 프로젝트를 구성합니다.
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에서 사용자 지정 작업을 빌드, 배포 및 디버깅하는 단계는 다른 유형의 사용자 지정 개체에 필요한 단계와 유사합니다. 자세한 내용은 사용자 지정 개체 빌드, 배포 및 디버깅을 참조 하세요.