安裝 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,這個繫結所使用的識別碼皆不會變更。
下圖顯示典型安裝、啟用和授權繫結,以及使用這些新變數的第三方元件驗證流程:
指示
ISV 可以在各種 SKU 或層級提供其授權元件 (例如,單一節點、最多 5 個節點、最多 10 個節點,依此類推)。 當客戶購買產品時,ISV 會提供對應的產品金鑰。 ISV 也會提供 Azure 儲存體 Blob 容器,其中包含 ISV 安裝指令碼和相關聯的檔案。 客戶可以將這些檔案複製到他們自己的儲存體容器,並且使用自己的產品金鑰進行修改 (例如,藉由執行
IsvSetup.exe -pid xxxx-xxxx-xxxx
)。 然後客戶可以使用其容器的 SAS URI 作為參數,佈建或重新設定 Azure-SSIS IR。 如需詳細資訊,請參閱自訂 Azure-SSIS 整合執行階段的安裝程式。當 Azure-SSIS IR 已佈建或重新設定時,ISV 安裝會在每個節點上執行以查詢 Windows 環境變數 (
SSIS_CLUSTERID
和SSIS_CLUSTERNODECOUNT
)。 然後 Azure-SSIS IR 會將其授權產品的叢集識別碼和產品金鑰提交給 ISV 啟用伺服器,來產生啟用金鑰。接收啟用金鑰之後,ISV 安裝程序可以在每個節點上將金鑰儲存在本機 (例如,在「登錄」中)。
當客戶執行套件 (該套件在 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 來存取內部部署資料,請遵循下列指示:
透過標準/快速自訂設定,在 Azure-SSIS IR 上安裝以 SQL Server 2017 為目標的自訂/第三方資料流程元件。
在自我裝載 IR 上建立下列 DTSPath 登錄機碼 (如果尚不存在):
- 請將
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath
設為C:\Program Files\Microsoft SQL Server\140\DTS\
- 請將
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath
設為C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
- 請將
在上述 DTSPath 下的的自我裝載 IR 上,安裝以 SQL Server 2017 為目標的自訂/第三方資料流程元件,並確保您的安裝程序:
建立
<DTSPath>
、<DTSPath>/Connections
、<DTSPath>/PipelineComponents
和<DTSPath>/UpgradeMappings
資料夾 (如果尚不存在)。在
<DTSPath>/UpgradeMappings
資料夾中,針對延伸模組對應建立您自己的 XML 檔案。在全域組件快取 (GAC) 中,安裝自訂/第三方資料流程元件參考的所有元件。
以下是我們合作夥伴 Aecorsoft 的範例,這些合作夥伴修改了其資料流程元件,以使用我們的快速自訂設定,並使用自我裝載 IR 作為 Azure-SSIS IR 的 Proxy。
ISV 合作夥伴
您可以在本篇部落格文章「企業版、自訂設定和第三方 SSIS 擴充性 ADF」的結尾找到一份 ISV 合作夥伴清單,其中包含已將其元件和擴充模組調整至適合 Azure SSIS IR 的合作夥伴。