Instalar componentes personalizados pagos ou licenciados para o Azure-SSIS Integration Runtime
APLICA-SE A: Azure Data Factory Azure Synapse Analytics> [! DICA] > Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!]
Este artigo descreve como um ISV pode desenvolver e instalar componentes personalizados pagos ou licenciados para pacotes do SQL Server Integration Services (SSIS) executados no Azure no tempo de execução de integração Azure-SSIS e proxy com tempo de execução de integração auto-hospedado.
Instalar componentes personalizados pagos ou licenciados para o Azure-SSIS Integration Runtime
O problema
A natureza do tempo de execução de integração Azure-SSIS apresenta vários desafios, que tornam inadequados os métodos de licenciamento típicos usados para a instalação local de componentes personalizados. Como resultado, o IR do Azure-SSIS requer uma abordagem diferente.
Os nós do IR do Azure-SSIS são voláteis e podem ser alocados ou liberados a qualquer momento. Por exemplo, você pode iniciar ou parar nós para gerenciar o custo ou aumentar e diminuir a escala através de vários tamanhos de nós. Como resultado, vincular uma licença de componente de terceiros a um nó específico usando informações específicas da máquina, como endereço MAC ou ID da CPU, não é mais viável.
Você também pode dimensionar o IR do Azure-SSIS para dentro ou para fora, para que o número de nós possa diminuir ou expandir a qualquer momento.
A solução
Como resultado das limitações dos métodos de licenciamento tradicionais descritos na seção anterior, o IR do Azure-SSIS fornece uma nova solução. Esta solução usa variáveis de ambiente do Windows e variáveis de sistema SSIS para a vinculação de licença e validação de componentes de terceiros. Os ISVs podem usar essas variáveis para obter informações exclusivas e persistentes para um IR do Azure-SSIS, como ID de Cluster e Contagem de Nós de Cluster. Com essas informações, os ISVs podem vincular a licença de seu componente a um IR do Azure-SSIS como um cluster. Essa associação usa uma ID que não muda quando os clientes iniciam ou param, aumentam ou diminuem a escala, aumentam ou reduzem a escala ou reconfiguram o IR do Azure-SSIS de qualquer forma.
O diagrama a seguir mostra os fluxos típicos de instalação, ativação e vinculação de licença e validação para componentes de terceiros que usam essas novas variáveis:
Instruções
Os ISVs podem oferecer seus componentes licenciados em vários SKUs ou camadas (por exemplo, nó único, até 5 nós, até 10 nós e assim por diante). O ISV fornece a Chave do Produto correspondente quando os clientes compram um produto. O ISV também pode fornecer um contêiner de blob de Armazenamento do Azure que contém um script de Instalação de ISV e arquivos associados. Os clientes podem copiar esses arquivos em seu próprio contêiner de armazenamento e modificá-los com sua própria chave do produto (por exemplo, executando
IsvSetup.exe -pid xxxx-xxxx-xxxx
). Os clientes podem então provisionar ou reconfigurar o IR do Azure-SSIS com o URI SAS de seu contêiner como parâmetro. Para mais informações, veja Configuração personalizada do runtime de integração do Azure-SSIS.Quando o IR do Azure-SSIS é provisionado ou reconfigurado, a Instalação do ISV é executada em cada nó para consultar as variáveis
SSIS_CLUSTERID
de ambiente do Windows eSSIS_CLUSTERNODECOUNT
. Em seguida, o IR do Azure-SSIS envia sua ID de Cluster e a Chave do Produto do produto licenciado para o Servidor de Ativação ISV para gerar uma Chave de Ativação.Depois de receber a chave de ativação, a instalação do ISV pode armazenar a chave localmente em cada nó (por exemplo, no Registro).
Quando os clientes executam um pacote que usa o componente licenciado do ISV em um nó do IR do Azure-SSIS, o pacote lê a Chave de Ativação armazenada localmente e a valida em relação à ID de Cluster do nó. O pacote também pode, opcionalmente, relatar a contagem de nós de cluster para o servidor de ativação ISV.
Aqui está um exemplo de código que valida a chave de ativação e relata a contagem de nós do 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); }
Habilite componentes de fluxo de dados personalizados/de terceiros usando IR auto-hospedado como um proxy
Para habilitar seus componentes de fluxo de dados personalizados/de terceiros para acessar dados no local usando IR auto-hospedado como um proxy para IR do Azure-SSIS, siga estas instruções:
Instale seus componentes de fluxo de dados personalizados/de terceiros direcionados ao SQL Server 2017 no IR do Azure-SSIS por meio de configurações personalizadas padrão/expressas.
Crie as seguintes chaves de registo DTSPath no IR auto-alojado se ainda não existirem:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath
definido comoC:\Program Files\Microsoft SQL Server\140\DTS\
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath
definido comoC:\Program Files (x86)\Microsoft SQL Server\140\DTS\
Instale seus componentes de fluxo de dados personalizados/de terceiros direcionados ao SQL Server 2017 em IR auto-hospedado sob o DTSPath acima e certifique-se de que seu processo de instalação:
Cria
<DTSPath>
,<DTSPath>/Connections
,<DTSPath>/PipelineComponents
e<DTSPath>/UpgradeMappings
pastas se ainda não existirem.Cria seu próprio arquivo XML para mapeamentos de extensão na
<DTSPath>/UpgradeMappings
pasta.Instala todos os assemblies referenciados por seus assemblies de componentes de fluxo de dados personalizados/de terceiros no cache de assembly global (GAC).
Aqui está um exemplo de nosso parceiro, Aecorsoft, que adaptou seus componentes de fluxo de dados para usar nossa configuração personalizada expressa e IR auto-hospedado como um proxy para o IR do Azure-SSIS.
Parceiros ISV
Você pode encontrar uma lista de parceiros ISV que adaptaram seus componentes e extensões para o Azure-SSIS IR no final desta postagem de blog - Enterprise Edition, Configuração Personalizada e Extensibilidade de 3ª Parte para SSIS no ADF.