Compartilhar via


Criando uma tarefa personalizada

Aplica-se a: Tempo de execução de integração do SSIS do SQL Server no Azure Data Factory

As etapas envolvidas na criação de uma tarefa personalizada são semelhantes às etapas de criação de qualquer outro objeto personalizado do Integration Services:

  • Crie uma classe nova herdada da classe base. Para uma tarefa, a classe base é Microsoft.SqlServer.Dts.Runtime.Task.

  • Aplique o atributo que identifica o tipo de objeto para a classe. Para uma tarefa, o atributo é DtsTaskAttribute.

  • Substitua a implementação dos métodos e propriedades da classe base. Para uma tarefa, isso inclui os métodos Validate e Execute.

  • Opcionalmente, desenvolva uma interface de usuário personalizada. Para uma tarefa, isso requer uma classe que implementa a interface IDtsTaskUI.

Guia de introdução com uma tarefa personalizada

Criando projetos e classes

Como todas as tarefas gerenciadas derivam da classe base Microsoft.SqlServer.Dts.Runtime.Task, a primeira etapa ao criar uma tarefa personalizada é criar um projeto de biblioteca de classes na linguagem de programação gerenciada de sua preferência e criar uma classe herdada da classe base. Nessa classe derivada, você substituirá os métodos e propriedades da classe base para implementar sua funcionalidade personalizada.

Na mesma solução, crie um segundo projeto de biblioteca de classe para a interface de usuário personalizada. Recomenda-se um assembly separado para a interface de usuário para facilitar a implantação pois ela permite que você atualize e reimplante o gerenciador de conexões ou sua interface de usuário de forma independente.

Configure ambos os projetos para atribuir os assemblies que serão gerados no momento de compilação usando um arquivo de chave de nome forte.

Aplicando o atributo DtsTask

Aplique o atributo DtsTaskAttribute à classe que você criou para identificar isso como uma tarefa. Esse atributo fornece informações de tempo de design como o nome, a descrição e o tipo da tarefa.

Use a propriedade UITypeName para vincular a tarefa à sua interface de usuário personalizada. Para obter o token de chave pública exigido para essa propriedade, você pode usar o sn.exe -t para exibir o token de chave pública por meio do arquivo de par de chaves (.snk) a ser usado para assinar o assembly da interface do usuário.

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  

Compilando, implantando e depurando uma tarefa personalizada

As etapas para compilar, implantar e depurar uma tarefa personalizada no Integration Services são semelhantes às etapas necessárias para outros tipos de objetos personalizados. Para obter mais informações, consulte Compilar, implantar e depurar objetos personalizados.

Consulte Também

Criar uma tarefa personalizada
Codificar uma tarefa personalizada
Desenvolver uma interface do usuário para uma tarefa personalizada