安裝 Azure-SSIS 整合執行階段的付費或授權自訂元件

適用於: Azure Data Factory Azure Synapse Analytics> [!提示] > 試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!]

本文說明 ISV 如何為 Azure SSIS 整合執行階段中在 Azure 執行的 SQL Server Integration Services (SSIS) 套件開發及安裝付費或授權自訂元件,以及具有自我裝載整合執行階段的 Proxy。

安裝 Azure-SSIS 整合執行階段的付費或授權自訂元件

問題

Azure SSIS 整合執行階段的本質會帶來幾項挑戰,使得一般授權方法不足以用來在內部部署環境安裝自訂元件。 因此,Azure SSIS IR 需要不同的方法。

  • Azure-SSIS IR 的節點是動態的,隨時可以配置或釋放。 例如,您可以啟動或停止節點以管理成本,或者透過各種不同的節點大小擴大和縮減。 因此,藉由使用電腦專屬資訊 (例如 MAC 位址或 CPU 識別碼) 將第三方元件授權繫結至特定節點就不可行。

  • 您也可以將 Azure SSIS IR 相應縮小或相應放大,讓節點數目可以隨時縮小或擴展。

解決方案

由於上節中所述關於傳統授權方法的限制,Azure SSIS IR 提供了新的解決方案。 此解決方案使用 Windows 環境變數和 SSIS 系統變數來處理授權繫結和第三方元件的驗證。 ISV 可以使用這些變數來取得 Azure-SSIS IR 的唯一且具持續性的資訊,例如叢集識別碼和叢集節點計數。 有了這項資訊,ISV 就可以將其元件的授權做為叢集繫結至 Azure SSIS IR。 無論客戶啟動或停止、擴大或縮小、縮減或擴增,或者以任何方式重新設定 Azure-SSIS IR,這個繫結所使用的識別碼皆不會變更。

下圖顯示典型安裝、啟用和授權繫結,以及使用這些新變數的第三方元件驗證流程:

Installation of licensed components

指示

  1. ISV 可以在各種 SKU 或層級提供其授權元件 (例如,單一節點、最多 5 個節點、最多 10 個節點,依此類推)。 當客戶購買產品時,ISV 會提供對應的產品金鑰。 ISV 也會提供 Azure 儲存體 Blob 容器,其中包含 ISV 安裝指令碼和相關聯的檔案。 客戶可以將這些檔案複製到他們自己的儲存體容器,並且使用自己的產品金鑰進行修改 (例如,藉由執行 IsvSetup.exe -pid xxxx-xxxx-xxxx)。 然後客戶可以使用其容器的 SAS URI 作為參數,佈建或重新設定 Azure-SSIS IR。 如需詳細資訊,請參閱自訂 Azure-SSIS 整合執行階段的安裝程式

  2. 當 Azure-SSIS IR 已佈建或重新設定時,ISV 安裝會在每個節點上執行以查詢 Windows 環境變數 (SSIS_CLUSTERIDSSIS_CLUSTERNODECOUNT)。 然後 Azure-SSIS IR 會將其授權產品的叢集識別碼和產品金鑰提交給 ISV 啟用伺服器,來產生啟用金鑰。

  3. 接收啟用金鑰之後,ISV 安裝程序可以在每個節點上將金鑰儲存在本機 (例如,在「登錄」中)。

  4. 當客戶執行套件 (該套件在 Azure-SSIS IR 的節點上使用 ISV 授權元件) 時,套件會讀取本機儲存的啟用金鑰,並且根據節點的叢集識別碼來加以驗證。 套件也可以選擇性地將叢集節點計數報告至 ISV 啟用伺服器。

    以下是驗證啟用金鑰以及報告叢集節點計數的程式碼範例:

    public override DTSExecResult Validate(Connections, VariableDispenser, IDTSComponentEvents componentEvents, IDTSLogging log) 
    
    {                                                                                                                             
    
    Variables vars = null;                                                                                                        
    
    variableDispenser.LockForRead("System::ClusterID");                                                                           
    
    variableDispenser.LockForRead("System::ClusterNodeCount");                                                                    
    
    variableDispenser.GetVariables(ref vars);                                                                                     
    
    // Validate Activation Key with ClusterID                                                                                     
    
    // Report on ClusterNodeCount                                                                                                 
    
    vars.Unlock();                                                                                                                
    
    return base.Validate(connections, variableDispenser, componentEvents, log);                                                   
    
    }
    

啟用使用自我裝載 IR 作為 Proxy 的自訂/第三方資料流程元件

若要讓您的自訂/第三方資料流程元件使用自我裝載 IR 作為 Azure-SSIS IR 的 Proxy 來存取內部部署資料,請遵循下列指示:

  1. 透過標準/快速自訂設定,在 Azure-SSIS IR 上安裝以 SQL Server 2017 為目標的自訂/第三方資料流程元件。

  2. 在自我裝載 IR 上建立下列 DTSPath 登錄機碼 (如果尚不存在):

    1. 請將 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath 設為 C:\Program Files\Microsoft SQL Server\140\DTS\
    2. 請將 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath 設為 C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
  3. 在上述 DTSPath 下的的自我裝載 IR 上,安裝以 SQL Server 2017 為目標的自訂/第三方資料流程元件,並確保您的安裝程序:

    1. 建立 <DTSPath><DTSPath>/Connections<DTSPath>/PipelineComponents<DTSPath>/UpgradeMappings 資料夾 (如果尚不存在)。

    2. <DTSPath>/UpgradeMappings 資料夾中,針對延伸模組對應建立您自己的 XML 檔案。

    3. 在全域組件快取 (GAC) 中,安裝自訂/第三方資料流程元件參考的所有元件。

以下是我們合作夥伴 Aecorsoft 的範例,這些合作夥伴修改了其資料流程元件,以使用我們的快速自訂設定,並使用自我裝載 IR 作為 Azure-SSIS IR 的 Proxy。

ISV 合作夥伴

您可以在本篇部落格文章「企業版、自訂設定和第三方 SSIS 擴充性 ADF」的結尾找到一份 ISV 合作夥伴清單,其中包含已將其元件和擴充模組調整至適合 Azure SSIS IR 的合作夥伴。