Installare componenti personalizzati a pagamento o concessi in licenza per il runtime di integrazione Azure-SSIS
SI APPLICA A: Azure Data Factory Azure Synapse Analytics> [! SUGGERIMENTO] > Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione !]
Questo articolo descrive come un ISV può sviluppare e installare componenti personalizzati a pagamento o concessi in licenza per pacchetti SSIS (SQL Server Integration Services) eseguiti in Azure nel runtime di integrazione SSIS di Azure e proxy con runtime di integrazione self-hosted.
Installare componenti personalizzati a pagamento o concessi in licenza per il runtime di integrazione Azure-SSIS
Problema
La natura del runtime di integrazione Azure-SSIS comporta varie sfide che rendono inadeguati i metodi tipici di gestione delle licenze usati per l'installazione locale di componenti personalizzati. Il runtime di integrazione Azure-SSIS richiede quindi un approccio diverso.
I nodi del runtime di integrazione Azure-SSIS sono volatili e possono essere allocati o rilasciati in qualsiasi momento. Ad esempio, è possibile avviare o arrestare nodi per gestire i costi oppure aumentare e ridurre le prestazioni modificando le dimensioni dei nodi. Di conseguenza, associare la licenza di un componente di terze parti a un particolare nodo usando informazioni specifiche sul computer, ad esempio l'indirizzo MAC o l'ID della CPU, non è più possibile.
È anche possibile aumentare o ridurre il numero di istanze del runtime di integrazione Azure-SSIS, in modo che il numero di nodi possa aumentare o ridursi in qualsiasi momento.
La soluzione
Viste le limitazioni dei metodi tradizionali di gestione delle licenze descritte nella sezione precedente, il runtime di integrazione Azure-SSIS fornisce una nuova soluzione. Questa soluzione usa le variabili di ambiente Windows e le variabili di sistema SSIS per l'associazione delle licenze e la convalida dei componenti di terze parti. I fornitori di software indipendenti possono usare queste variabili per ottenere informazioni univoche e permanenti per un runtime di integrazione Azure-SSIS, ad esempio ID del cluster e numero di nodi del cluster. Con queste informazioni, i fornitori di software indipendenti possono associare la licenza per i propri componenti a un runtime di integrazione Azure-SSIS come cluster. Questa associazione usa un ID che resta invariato quando i clienti avviano o arrestano il runtime di integrazione Azure-SSIS, aumentano o riducono il numero di istanze, aumentano o riducono le prestazioni o modificano in qualsiasi modo la configurazione.
Il diagramma seguente mostra i flussi tipici di installazione, attivazione, associazione della licenza e convalida per i componenti di terze parti che usano queste nuove variabili:
Istruzioni
I fornitori di software indipendenti possono offrire i propri componenti concessi in licenza in più SKU o livelli (ad esempio nodo singolo, fino a 5 nodi, fino a 10 nodi e così via). Quando i clienti acquistano un prodotto, l'ISV fornisce il codice Product Key corrispondente. Può fornire anche un contenitore BLOB di Archiviazione di Azure che include uno script di installazione creato dall'ISV stesso e i file associati. I clienti possono copiare questi file nel proprio contenitore di archiviazione e modificarli inserendo il proprio codice Product Key (ad esempio, eseguendo
IsvSetup.exe -pid xxxx-xxxx-xxxx
). I clienti possono quindi eseguire il provisioning del runtime di integrazione Azure-SSIS o riconfigurarlo usando come parametro l'URI SAS del proprio contenitore. Per altre informazioni, vedere Installazione personalizzata per il runtime di integrazione Azure-SSIS.Quando vengono eseguiti il provisioning o la configurazione del runtime di integrazione Azure-SSIS, lo script di installazione dell'ISV viene eseguito in ogni nodo per recuperare le variabili di ambiente Windows,
SSIS_CLUSTERID
eSSIS_CLUSTERNODECOUNT
. Quindi, il runtime di integrazione Azure-SSIS invia l'ID cluster e il codice Product Key al server di attivazione dell'ISV per generare una chiave di attivazione.Dopo aver ricevuto la chiave di attivazione, lo script di installazione dell'ISV può archiviare la chiave in locale in ogni nodo, ad esempio nel Registro di sistema.
Quando i clienti eseguono un pacchetto che usa il componente concesso in licenza dell'ISV in un nodo del runtime di integrazione Azure-SSIS, il pacchetto legge la chiave di attivazione archiviata in locale e la convalida rispetto all'ID cluster del nodo. Facoltativamente, il pacchetto può anche segnalare al server di attivazione dell'ISV il numero di nodi del cluster.
Ecco un esempio di codice che convalida la chiave di attivazione e segnala il numero dei nodi del 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); }
Abilitare componenti del flusso di dati personalizzati/di terze parti usando il runtime di integrazione self-hosted come proxy
Per abilitare i componenti del flusso di dati personalizzati/di terze parti per accedere ai dati in locale usando il runtime di integrazione self-hosted come proxy per Azure-SSIS IR, seguire queste istruzioni:
Installare i componenti del flusso di dati personalizzati/di terze parti destinati a SQL Server 2017 in Azure-SSIS IR tramite configurazioni personalizzate standard/express.
Creare le chiavi del Registro di sistema DTSPath seguenti nel runtime di integrazione self-hosted, se non esistono già:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath
impostato suC:\Program Files\Microsoft SQL Server\140\DTS\
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath
impostato suC:\Program Files (x86)\Microsoft SQL Server\140\DTS\
Installare i componenti del flusso di dati personalizzati/di terze parti destinati a SQL Server 2017 nel runtime di integrazione self-hosted in DTSPath precedente e assicurarsi che il processo di installazione:
Crea
<DTSPath>
cartelle ,<DTSPath>/PipelineComponents
<DTSPath>/Connections
, e<DTSPath>/UpgradeMappings
se non esistono già.Crea il proprio file XML per i mapping delle estensioni nella
<DTSPath>/UpgradeMappings
cartella.Installa tutti gli assembly a cui fa riferimento gli assembly del flusso di dati personalizzati/di terze parti nella Global Assembly Cache (GAC).
Ecco un esempio del partner Aecorsoft, che ha adattato i componenti del flusso di dati per usare la configurazione personalizzata rapida e il runtime di integrazione self-hosted come proxy per Azure-SSIS IR.
Partner ISV
È possibile trovare un elenco di partner fornitori software indipendenti che hanno adattato i componenti e le estensioni per il runtime di integrazione SSIS Azure alla fine di questo post di blog: Enterprise Edition, Custom Setup, and 3rd Party Extensibility for SSIS in ADF (Enterprise Edition, installazione personalizzata ed estendibilità di terze parti SSIS in Azure Data Factory).