Crear una tarea personalizada

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

Los pasos necesarios para crear una tarea personalizada son similares a los pasos para crear cualquier otro objeto personalizado para Integration Services:

  • Cree una clase nueva que herede de la clase base. En una tarea, la clase base es Microsoft.SqlServer.Dts.Runtime.Task.

  • Aplique el atributo que identifica el tipo de objeto para la clase. En una tarea, el atributo es DtsTaskAttribute.

  • Invalide la implementación de los métodos y las propiedades de la clase base. En una tarea, incluyen los métodos Validate y Execute.

  • Si lo desea, desarrolle una interfaz de usuario personalizada. En una tarea, esto requiere una clase que implemente la interfaz IDtsTaskUI.

Introducción a una tarea personalizada

Crear proyectos y clases

Dado que todas las tareas administradas se derivan de la clase base Microsoft.SqlServer.Dts.Runtime.Task, el primer paso al crear una tarea personalizada consiste en crear un proyecto de bibliotecas de clases en el lenguaje de programación administrado que prefiera y crear una clase que herede de la clase base. En esta clase derivada se invalidarán los métodos y las propiedades de la clase base para implementar la funcionalidad personalizada.

En la misma solución, cree un segundo proyecto de bibliotecas de clases para la interfaz de usuario personalizada. Se recomienda utilizar un ensamblado independiente para la interfaz de usuario a fin de facilitar la implementación, ya que le permite actualizar y volver a implementar la tarea o su interfaz de usuario de forma independiente.

Configure ambos proyectos para firmar los ensamblados que se generarán en tiempo de compilación mediante un archivo de clave de nombre seguro.

Aplicar el atributo DtsTask

Aplique el atributo DtsTaskAttribute a la clase que ha creado para identificarla como una tarea. Este atributo proporciona información en tiempo de diseño, como el nombre, la descripción y el tipo de tarea de la tarea.

Utilice la propiedad UITypeName para vincular la tarea a su interfaz de usuario personalizada. Para obtener el token de clave pública necesario para esta propiedad, puede usar sn.exe -t con el fin de mostrar el token de clave pública del archivo de pares de claves (.snk) que quiere usar para firmar el ensamblado de la interfaz de usuario.

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  

Generar, implementar y depurar una tarea personalizada

Los pasos para generar, implementar y depurar una tarea personalizada en Integration Services son similares a los pasos necesarios en otros tipos de objetos personalizados. Para obtener más información, consulte Generar, implementar y depurar objetos personalizados.

Consulte también

Crear una tarea personalizada
Codificar una tarea personalizada
Desarrollar una interfaz de usuario para una tarea personalizada