Установка платных или лицензионных пользовательских компонентов для среды выполнения интеграции Azure–SSIS

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics> [! СОВЕТ] > Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики всех в одном режиме для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как начать новую пробную версию бесплатно!]

В этой статье описывается, как независимый поставщик программного обеспечения может разрабатывать и устанавливать платные или лицензионные пользовательские компоненты для пакетов MSSQL Integration Services, которые выполняются в среде выполнения интеграции Azure–SSIS и на прокси-сервере с локальной средой выполнения интеграции.

Установка платных или лицензионных пользовательских компонентов для среды выполнения интеграции Azure–SSIS

задачи;

Характер среды выполнения Azure SSIS представляет собой несколько проблем, которые делают типичные методы лицензирования, используемые для локальной установки пользовательских компонентов, неподходящими. В результате среде выполнения интеграции Azure–SSIS требуется другой подход.

  • Узлы среды выполнения интеграции Azure SSIS являются неустойчивыми и могут быть выделены или выпущены в любое время. Например, можно запускать или останавливать узлы для управления затратами или выполнять масштабирование в разных размерах узлов. В результате привязка лицензии стороннего компонента к определенному узлу с помощью относящихся к компьютеру сведений, таких как MAC-адрес или идентификатор ЦП, больше недоступна.

  • Также вы можете масштабировать среду выполнения интеграции Azure SSIS. То есть количество узлов можно уменьшить и увеличить в любое время.

Решение

В результате ограничений традиционных методов лицензирования, описанных в предыдущем разделе, среда выполнения интеграции Azure–SSIS предоставляет новое решение. Это решение использует переменные среды Windows и системные переменные MSSQL Integration Services для привязки и проверки лицензий сторонних компонентов. Независимые поставщики программного обеспечения могут использовать эти переменные, чтобы получить уникальную и постоянную информацию о среде выполнения интеграции Azure SSIS, такую как идентификатор кластера и число его узлов. Благодаря этой информации независимые поставщики программного обеспечения могут связать лицензии для своего компонента со средой выполнения интеграции Azure–SSIS как кластером. Эта привязка использует идентификатор, который остается неизменным при запуске или остановке, вертикальном увеличении или уменьшении масштаба или перенастройке среды выполнения интеграции Azure–SSIS каким-либо образом.

На следующей схеме показаны обычные потоки установки, активации, привязки и проверки компонентов сторонних поставщиков, которые используют эти переменные:

Installation of licensed components

Instructions

  1. Независимые поставщики программного обеспечения могут предлагать свои лицензированные компоненты на различных номерах SKU или уровнях, например только один узел, до 5 узлов, до 10 узлов и т. д. Когда клиент приобретает продукт, независимый поставщик программного обеспечения предоставляет соответствующий ключ продукта. Он также может предоставить контейнер больших двоичных объектов службы хранилища Azure, который содержит скрипт установки и связанные с ним файлы. Клиенты могут скопировать эти файлы в собственный контейнер хранилища и изменять их, используя собственный ключ продукта (например, запустив IsvSetup.exe -pid xxxx-xxxx-xxxx). Клиенты могут подготовить или перенастроить среду выполнения интеграции Azure SSIS, используя URI SAS их контейнера в качестве параметра. Дополнительные сведения см. в разделе Выборочная установка среды выполнения интеграции Azure-SSIS.

  2. После подготовки и перенастройки среды выполнения интеграции Azure SSIS пакет установки независимого поставщика программного обеспечения выполняется на каждом узле для запроса переменных среды SSIS_CLUSTERID и SSIS_CLUSTERNODECOUNT. Затем среда выполнения интеграции Azure SSIS отправляет свой идентификатор кластера и ключ лицензированного продукта на сектор активации независимого поставщика программного обеспечения для создания ключа активации.

  3. После получения ключа активации пакет установки независимого поставщика программного обеспечения может хранить ключ локально в каждом узле (например, в реестре).

  4. Когда клиенты запускают пакет, использующий лицензированный компонент независимого поставщика программного обеспечения, в узле среды выполнения интеграции Azure SSIS, он считывает локально хранимый ключ активации и проверяет его с помощью идентификатора кластера узла. Кроме того, пакет также может сообщать количество узлов кластера на сервер активации независимого поставщика программного обеспечения.

    Ниже приведен пример кода, который проверяет ключ активации и сообщает о количестве узлов кластера:

    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 в качестве прокси-сервера

Чтобы предоставить пользовательским или сторонним компонентам потока данных доступ к данным в локальной среде IR, настроенной в качестве прокси для Azure-SSIS IR, выполните следующие действия.

  1. Установите пользовательские или сторонние компоненты потока данных, предназначенные для SQL Server 2017, в Azure-SSIS IR с помощью выборочной стандартной или экспресс-установки.

  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. Установите пользовательские или сторонние компоненты потока данных, предназначенные для SQL Server 2017, в локальной среде IR по указанному выше пути DTSPath, приняв меры к тому, чтобы в процессе установки было выполнено следующее:

    1. Созданы папки <DTSPath>, <DTSPath>/Connections, <DTSPath>/PipelineComponents и <DTSPath>/UpgradeMappings, если их еще не существует.

    2. Создан собственный XML-файл для сопоставления расширений в папке <DTSPath>/UpgradeMappings.

    3. Установлены все сборки, на которые ссылаются сборки пользовательских или сторонних компонентов потока данных в глобальном кэше сборок (GAC).

Ниже приведен пример от нашего партнера , Aecorsoft, который адаптировал свои компоненты потока данных для использования нашей экспресс-настраиваемой настройки и локальной среды IR в качестве прокси-сервера для Azure-SSIS IR.

Независимые партнеры-поставщики программного обеспечения

Список независимых партнеров-поставщиков программного обеспечения, которые адаптировали свои компоненты и расширения для среды выполнения интеграции Azure–SSIS, можно найти в конце этого блога — Enterprise Edition, пользовательская установка и сторонние расширения для служб SSIS в ADF.