Search code examples
azureazure-data-factoryqliksenseazure-synapse

Azure Synapse Pipeline-Execute an executable on a onpremise server


We are using Azure Synapse Pipelines for our ETL. At the end of the pipeline we need to call an executable in order to refresh the Qliksense dashboards. The executable and the Qliksense servers reside on on-premise servers.(Operating systems are Windows)

How can we call the executable on our on premise server from Azure Synapse pipeline? Do we need to use self hosted integration run time?

Thanks


Solution

  • I do not think Azure Synapse Pipelines will allow you to do this easily, even with a self-hosted integration runtime (although happy to be corrected). You do not have the Execute Process task you had in SSIS and you do not have the ability to execute a Powershell step in a SQL Agent job step, so it's a backwards step in some ways. Of course you do get the cloud-type scalability, so it's a trade-off. In terms of access on-premises data stores, this is now possible using private endpoints. See here for more details.

    You do however have a couple of options:

    • move to Azure Run Book automation - this would allow you to chain together calls to Synpase Pipelines (or Azure Data Factory (ADF)) via the REST API and Powershell calls
    • look at Azure Batch and Custom activity - this would require a line of sight from the batch VMs to your on-premises, eg Azure ExpressRoute
    • switch to ADF and use SSIS-IR to execute an SSIS package that does the task you need, eg via Execute Process task

    So a few options for you to explore there and see which works best for you.