Installer des composants personnalisés payants, ou sous licence, pour le runtime d’intégration Azure-SSIS

S’APPLIQUE À : Azure Synapse Analytics> [! CONSEIL] > Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, la business intelligence et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article explique comment un éditeur de logiciels indépendant peut développer et installer des composants personnalisés payants ou sous licence pour les packages SQL Server Integration Services (SSIS) exécutés dans Azure dans le runtime d’intégration Azure-SSIS et le proxy avec runtime d’intégration autohébergé.

Installer des composants personnalisés payants, ou sous licence, pour le runtime d’intégration Azure-SSIS

Le problème

La nature du runtime d’intégration Azure-SSIS présente plusieurs difficultés, qui rendent les méthodes standard de gestion des licences utilisées pour l’installation en local des composants personnalisés inappropriées. Par conséquent, le runtime d’intégration Azure-SSIS nécessite une approche différente.

  • Les nœuds du runtime d’intégration Azure-SSIS sont volatils et peuvent être alloués ou libérés à tout moment. Par exemple, vous pouvez démarrer ou arrêter des nœuds pour gérer le coût ou procéder à une montée ou une descente en puissance sur différentes tailles de nœuds. Par conséquent, la liaison d’une licence de composants tiers à un nœud donné à l’aide d’informations spécifiques à la machine comme l’adresse MAC ou l’ID du processeur n’est plus viable.

  • Vous pouvez également augmenter ou diminuer la taille des instances du runtime d’intégration Azure-SSIS, ce qui vous permet de réduire ou développer le nombre de nœuds à tout moment.

La solution

En raison des limitations des méthodes traditionnelles de gestion des licences décrites dans la section précédente, l’IR Azure-SSIS fournit une nouvelle solution. Cette solution utilise les variables d’environnement Windows et du système SSIS dédiés à la liaison et la validation des licences pour les composants tiers. Les éditeurs de logiciels indépendants peuvent utiliser ces variables pour obtenir des données uniques et persistantes associées à un runtime d’intégration Azure-SSIS, comme l’ID de cluster et le nombre de nœuds de cluster. Avec ces informations, les éditeurs de logiciels indépendants peuvent lier la licence de leur composant à un IR Azure-SSIS en tant que cluster. Cette liaison utilise un ID qui ne change pas lorsque les clients démarrent ou arrêtent, effectuent un scale-up, un scale-down, un scale-in ou un scale-out, ou reconfigurent l’IR Azure-SSIS.

Le schéma suivant représente l’installation typique, l’activation et la liaison des licences, ainsi que les flux de validation pour les composants tiers qui utilisent ces nouvelles variables :

Installation of licensed components

Instructions

  1. Les éditeurs de logiciels indépendants peuvent proposer leurs composants sous licence sous diverses références ou niveaux (par exemple, nœud unique, jusqu’à 5 nœuds, jusqu’à 10 nœuds, etc.). L’éditeur fournit la clé de produit correspondante lorsque les clients acquièrent un produit. Il peut également octroyer le conteneur d’objets blob Stockage Azure, qui comporte le script d’installation éditeur et les fichiers associés. Les clients peuvent copier ces fichiers dans leur propre conteneur de stockage et les modifier avec leur propre clé de produit (par exemple, en exécutant IsvSetup.exe -pid xxxx-xxxx-xxxx). Ils sont ensuite en mesure de provisionner ou de reconfigurer le runtime d’intégration Azure-SSIS avec l’URI SAS de leur conteneur en tant que paramètre. Pour plus d’informations, consultez Custom setup for the Azure-SSIS integration runtime (Configuration personnalisée du runtime d’intégration Azure-SSIS).

  2. Lors du provisionnement ou de la reconfiguration du runtime d’intégration Azure-SSIS, le script d’installation éditeur est exécuté sur chaque nœud afin d’interroger les variables d’environnement Windows, SSIS_CLUSTERID et SSIS_CLUSTERNODECOUNT. Ensuite, le runtime d’intégration Azure-SSIS transmet son ID de cluster et la clé du produit sous licence au serveur d’activation éditeur, afin de générer une clé d’activation.

  3. Une fois la clé d’activation reçue, le script d’installation éditeur peut la stocker en local sur chaque nœud (par exemple, dans le Registre).

  4. Lorsque les clients exécutent un package utilisant le composant sous licence de l’éditeur sur un nœud du runtime d’intégration Azure-SSIS, le package lit la clé d’activation stockée en local et la valide en la comparant à l’ID de cluster du nœud. Le package peut également, éventuellement, transmettre le nombre de nœuds du cluster au serveur d’activation éditeur.

    Voici un exemple de code qui valide la clé d’activation et transmet le nombre de nœuds du cluster :

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

Activer les composants de flux de données tiers/personnalisés à l’aide du runtime d’intégration autohébergé en tant que proxy

Pour permettre à vos composants de flux de données personnalisés/tiers d'accéder aux données locales en utilisant le runtime d'intégration auto-hébergé en tant que proxy pour Azure-SSIS IR, suivez ces instructions :

  1. Installez vos composants de flux de données personnalisés/tiers ciblant SQL Server 2017 sur Azure-SSIS IR via des configurations personnalisées standard/express.

  2. Créez les clés de Registre DTSPath suivantes sur le runtime d'intégration auto-hébergé, si elles n'existent pas encore :

    1. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath défini sur C:\Program Files\Microsoft SQL Server\140\DTS\
    2. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath défini sur C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
  3. Installez vos composants de flux de données personnalisés/tiers ciblant SQL Server 2017 sur le runtime d'intégration auto-hébergé sous le DTSPath ci-dessus et vérifiez que votre processus d'installation :

    1. Crée les dossiers <DTSPath>, <DTSPath>/Connections, <DTSPath>/PipelineComponents et <DTSPath>/UpgradeMappings s’ils n’existent pas déjà.

    2. Crée votre propre fichier XML pour les mappages d’extension dans le dossier <DTSPath>/UpgradeMappings.

    3. Installe tous les assemblys référencés par vos assemblys de composants de flux de données personnalisés/tiers dans le Global Assembly Cache (GAC).

Voici un exemple de nos partenaires, Aecorsoft, qui ont adapté leurs composants de flux de données pour utiliser notre configuration personnalisée express et notre IR auto-hébergé comme proxy pour Azure-SSIS IR.

Partenaires éditeurs de logiciels indépendants

Vous trouverez une liste des partenaires éditeurs de logiciels indépendants qui ont adapté leurs composants et extensions pour l’IR Azure-SSIS à la fin de ce billet de blog - Enterprise Edition, installation personnalisée et extensibilité tierce pour SSIS dans ADF.