建立自訂工作

適用於:SQL ServerAzure Data Factory 中的 SSIS Integration Runtime

建立自訂工作所涉及的步驟類似建立整合服務任何其他自訂物件的步驟:

  • 建立繼承自基底類別的新類別。 針對工作而言,基底類別是 Microsoft.SqlServer.Dts.Runtime.Task

  • 將可識別物件類型的屬性套用至類別。 對於工作而言,屬性是 DtsTaskAttribute

  • 覆寫基底類別之方法與屬性的實作。 對於工作而言,這些包括 ValidateExecute 方法。

  • (選擇性) 開發自訂使用者介面。 對於工作而言,這需要實作 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  

建置、部署和偵錯自訂工作

在整合服務中建置、部署及偵錯自訂工作的步驟,類似其他類型自訂物件所需的步驟。 如需詳細資訊,請參閱建立、部署和偵錯自訂物件

另請參閱

建立自訂工作
撰寫自訂工作的程式碼
開發自訂工作的使用者介面