Instalación de componentes personalizados de pago o con licencia para la instancia de Integration Runtime para la integración de SSIS en Azure

SE APLICA A: Azure Data Factory Azure Synapse Analytics> [!TIP] > Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y la generación de informes. Obtenga más información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se describe cómo un ISV desarrolla e instala componentes personalizados de pago o con licencia en un entorno de ejecución para la integración de SSIS en Azure y un proxy con un entorno de ejecución de integración autohospedado.

Instalación de componentes personalizados de pago o con licencia para la instancia de Integration Runtime para la integración de SSIS en Azure

El problema.

La naturaleza de la instancia de Integration Runtime para la integración de SSIS en Azure presenta varios retos, que hacen que los métodos de licencia típicos que se usan para la instalación local de componentes personalizados sea insuficiente. Por consiguiente, la instancia de Integration Runtime para la integración de SSIS en Azure requiere un enfoque diferente.

  • Los nodos de la instancia de Integration Runtime para la integración de SSIS en Azure son volátiles y se pueden asignar o liberar en cualquier momento. Por ejemplo, puede iniciar o detener nodos para administrar los costos o escalar vertical y horizontalmente a través de varios tamaños de nodo. Como resultado, ya no es viable enlazar una licencia de componentes de terceros a un nodo concreto mediante la información específica de la máquina, como dirección MAC o el identificador de CPU.

  • También puede escalar la instancia de Integration Runtime para la integración de SSIS en Azure vertical u horizontalmente para que el número de nodos se reduzca o aumente en cualquier momento.

La solución

Debido a las limitaciones de los métodos tradicionales de licencias que se describen en la sección anterior, la instancia de Integration Runtime para la integración de SSIS en Azure ofrece una nueva solución. Esta solución utiliza variables de entorno de Windows y variables del sistema de SSIS para el enlace y la validación de licencias de componentes de terceros. Los ISV pueden usar estas variables para obtener información duradera y única de la instancia de Integration Runtime para la integración de SSIS en Azure, como el identificador del clúster y el número de nodos del clúster. Con esta información, los ISV pueden luego enlazar la licencia del componente a una instancia de Integration Runtime para la integración de SSIS en Azure como clúster. Este enlace utiliza un identificador que no cambia cuando los clientes inician o detienen, escalan vertical u horizontalmente, reducen vertical u horizontalmente o reconfiguran la instancia de Integration Runtime para la integración de SSIS en Azure de algún modo.

En el siguiente diagrama se muestra la instalación típica, la activación y el enlace de licencia, así como los flujos de validación de los componentes de terceros que utilizan estas variables nuevas:

Installation of licensed components

Instrucciones

  1. Los ISV pueden ofrecer sus componentes con licencia en varios SKU o niveles (por ejemplo, nodo único, hasta 5 nodos, hasta 10 nodos, etc.). El ISV proporciona la clave de producto correspondiente al cliente durante la compra. El ISV puede proporcionar también un contenedor de blobs de Azure Storage con un script de instalación de ISV y los archivos asociados. Los clientes puedan copiar estos archivos en su propio contenedor de almacenamiento y modificarlos con su propia clave de producto (por ejemplo, al ejecutar IsvSetup.exe -pid xxxx-xxxx-xxxx). Los clientes pueden aprovisionar o volver a configurar la instancia de Integration Runtime para la integración de SSIS en Azure con el URI de SAS de su contenedor como parámetro. Para más información, consulte Custom setup for the Azure-SSIS integration runtime (Instalación personalizada de la instancia de Integration Runtime para la integración de SSIS en Azure).

  2. Cuando la instancia de Integration Runtime para la integración de SSIS en Azure se aprovisiona o se vuelve a configurar, el programa de instalación de ISV se ejecuta en todos los nodos para consultar las variables de entorno de Windows, SSIS_CLUSTERID y SSIS_CLUSTERNODECOUNT. A continuación, la instancia de Integration Runtime para la integración de SSIS en AzureIS envía el identificador del clúster y la clave de producto del producto con licencia para que el servidor de activación de ISV genere una clave de activación.

  3. Después de recibir la clave de activación, el programa de instalación de ISV puede almacenar la clave localmente en cada nodo (por ejemplo, en el registro).

  4. Cuando los clientes ejecutan un paquete que usa componentes con licencia de ISV en un nodo dela instancia de Integration Runtime para la integración de SSIS en Azure, el paquete lee la clave de activación almacenada localmente y la compara con el identificador de clúster del nodo. El paquete también puede notificar el número de nodos de clúster para el servidor de activación de ISV (opcional).

    Este es un ejemplo de código que valida la clave de activación y notifica el número de nodos de clúster:

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

Habilitación de componentes de flujo de datos personalizados o de terceros mediante un IR autohospedado como proxy

Para habilitar componentes de flujo de datos personalizados o de terceros para acceder a los datos locales mediante IR autohospedado como un proxy para Azure-SSIS IR, siga estas instrucciones:

  1. Instale los componentes de flujo de datos personalizados o de terceros que tengan como destino SQL Server 2017 en Azure-SSIS IR mediante las instalaciones personalizadas estándar/rápidas.

  2. Cree las siguientes claves del Registro DTSPath en IR autohospedado si aún no existen:

    1. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath se establece en C:\Program Files\Microsoft SQL Server\140\DTS\
    2. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath se establece en C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
  3. Instale los componentes de flujo de datos personalizados o de terceros que tengan como destino SQL Server 2017 en IR autohospedado en el registro DTSPath anterior y asegúrese de que el proceso de instalación realice lo siguiente:

    1. Crear las carpetas <DTSPath>, <DTSPath>/Connections, <DTSPath>/PipelineComponents y <DTSPath>/UpgradeMappings si aún no existen.

    2. Crear su propio archivo XML para las asignaciones de extensiones en la carpeta <DTSPath>/UpgradeMappings.

    3. Instalar todos los ensamblados a los que hacen referencia los ensamblados de componentes de flujo de datos personalizados o de terceros en la caché global de ensamblados (GAC).

A continuación se muestra un ejemplo de nuestro socio, Aecorsoft, que ha adaptado sus componentes de flujo de datos para utilizar nuestra configuración personalizada rápida e IR autohospedado como proxy para Azure-SSIS IR.

Partners de ISV

Puede encontrar una lista de partners de ISV que han adaptado sus componentes y extensiones a la instancia de Integration Runtime para la integración de SSIS en Azure al final de esta entrada de blog: Enterprise Edition, Custom Setup, and 3rd Party Extensibility for SSIS in ADF (Enterprise Edition, instalación personalizada y extensibilidad de terceros para SSIS en ADF).