Dela via


Installera betalda eller licensierade anpassade komponenter för Azure-SSIS Integration Runtime

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics> [! TIPS] > Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!]

Den här artikeln beskriver hur en ISV kan utveckla och installera betalda eller licensierade anpassade komponenter för SSIS-paket (SQL Server Integration Services) som körs i Azure i Azure-SSIS-integreringskörningen och proxy med lokalt installerad integrationskörning.

Installera betalda eller licensierade anpassade komponenter för Azure-SSIS Integration Runtime

Problemet

Typen av Azure-SSIS-integreringskörning innebär flera utmaningar, vilket gör de typiska licensieringsmetoderna som används för lokal installation av anpassade komponenter otillräckliga. Därför kräver Azure-SSIS IR en annan metod.

  • Noderna i Azure-SSIS IR är flyktiga och kan allokeras eller släppas när som helst. Du kan till exempel starta eller stoppa noder för att hantera kostnaden eller skala upp och ned via olika nodstorlekar. Därför är det inte längre möjligt att binda en komponentlicens från tredje part till en viss nod med hjälp av datorspecifik information som MAC-adress eller CPU-ID.

  • Du kan också skala in eller ut Azure-SSIS IR så att antalet noder kan krympa eller expandera när som helst.

Lösningen

Som ett resultat av begränsningarna i traditionella licensieringsmetoder som beskrivs i föregående avsnitt tillhandahåller Azure-SSIS IR en ny lösning. Den här lösningen använder Windows-miljövariabler och SSIS-systemvariabler för licensbindning och validering av komponenter från tredje part. ISV:er kan använda dessa variabler för att hämta unik och beständig information för en Azure-SSIS IR, till exempel kluster-ID och antal klusternoder. Med den här informationen kan ISV:er sedan binda licensen för komponenten till en Azure-SSIS IR som ett kluster. Den här bindningen använder ett ID som inte ändras när kunder startar eller stoppar, skalar upp eller ned, skalar in eller ut eller konfigurerar om Azure-SSIS IR på något sätt.

Följande diagram visar de typiska installations-, aktiverings- och licensbindnings- och valideringsflödena för komponenter från tredje part som använder dessa nya variabler:

Installation of licensed components

Instruktioner

  1. ISV:er kan erbjuda sina licensierade komponenter på olika SKU:er eller nivåer (till exempel en enda nod, upp till 5 noder, upp till 10 noder och så vidare). ISV tillhandahåller motsvarande produktnyckel när kunder köper en produkt. ISV kan också tillhandahålla en Azure Storage-blobcontainer som innehåller ett ISV-installationsskript och associerade filer. Kunder kan kopiera dessa filer till sin egen lagringscontainer och ändra dem med sin egen produktnyckel (till exempel genom att köra IsvSetup.exe -pid xxxx-xxxx-xxxx). Kunder kan sedan etablera eller konfigurera om Azure-SSIS IR med SAS-URI:n för sin container som parameter. Mer information finns i Anpassad konfiguration för Azure-SSIS integreringskörning.

  2. När Azure-SSIS IR etableras eller konfigureras om körs ISV-installationen på varje nod för att köra frågor mot Miljövariablerna SSIS_CLUSTERID i Windows och SSIS_CLUSTERNODECOUNT. Sedan skickar Azure-SSIS IR sitt kluster-ID och produktnyckeln för den licensierade produkten till ISV-aktiveringsservern för att generera en aktiveringsnyckel.

  3. När du har tagit emot aktiveringsnyckeln kan ISV-installationen lagra nyckeln lokalt på varje nod (till exempel i registret).

  4. När kunder kör ett paket som använder ISV:s licensierade komponent på en nod i Azure-SSIS IR läser paketet den lokalt lagrade aktiveringsnyckeln och validerar den mot nodens kluster-ID. Paketet kan också rapportera antalet klusternoder till ISV-aktiveringsservern.

    Här är ett exempel på kod som verifierar aktiveringsnyckeln och rapporterar antalet klusternoder:

    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);                                                   
    
    }
    

Aktivera anpassade/tredjepartskomponenter för dataflöde med hjälp av lokalt installerad IR som proxy

Följ dessa instruktioner om du vill göra så att dina anpassade/tredje parts dataflödeskomponenter kan komma åt data lokalt med hjälp av lokalt installerad IR som proxy för Azure-SSIS IR:

  1. Installera dina anpassade/tredje parts dataflödeskomponenter för SQL Server 2017 på Azure-SSIS IR via anpassade standard-/expresskonfigurationer.

  2. Skapa följande DTSPath-registernycklar på lokalt installerad IR om de inte redan finns:

    1. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath inställd på C:\Program Files\Microsoft SQL Server\140\DTS\
    2. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath inställd på C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
  3. Installera dina anpassade/tredje parts dataflödeskomponenter för SQL Server 2017 på lokalt installerad IR under DTSPath ovan och se till att installationsprocessen:

    1. Skapar <DTSPath>, <DTSPath>/Connections, <DTSPath>/PipelineComponentsoch <DTSPath>/UpgradeMappings mappar om de inte redan finns.

    2. Skapar en egen XML-fil för tilläggsmappningar i <DTSPath>/UpgradeMappings mappen.

    3. Installerar alla sammansättningar som refereras av dina anpassade/tredje parts dataflödeskomponentsammansättningar i den globala sammansättningscachen (GAC).

Här är ett exempel från vår partner, Aecorsoft, som har anpassat sina dataflödeskomponenter för att använda vår expressanpassade konfiguration och lokalt installerad IR som proxy för Azure-SSIS IR.

ISV-partner

Du hittar en lista över ISV-partner som har anpassat sina komponenter och tillägg för Azure-SSIS IR i slutet av det här blogginlägget – Enterprise Edition, anpassad installation och utökningsbarhet för SSIS från tredje part i ADF.