Synpase 'Publish' in workspace is not updating Parameters in TemplateParametersForWorkspace.json as expected

Drithi Deepak 0 Reputation points Microsoft Employee
2026-07-07T17:49:32.1066667+00:00

I am having an issue where LinkedServices in Synapse are not getting updated (connections strings) during rollout to PreProd and Prod workspaces. When I “Publish” in Synapse, Publish updates only TemplateForWorkspace.json but does not update TemplateParametersForWorkspace.json with newly added linked service parameters.  As a result, linked-service overrides are not applied when "DeploySynapseArtifacts" Ev2 extension is called.

I have created “template-parameters-definition.json” parameter file for linked services at the root of my repo (same root folder is configured in my Dev Synpase Workspace). Issue seems to be Synapse Publish is not honoring template-parameters-definition.json for linked services in this workspace hence an updated TemplateParametersForWorkspace.json is not getting generated during Publish.

I have also included these Parameters in ScopeBindings and synapse.httpextensionParameters.json.

Azure Synapse Analytics
Azure Synapse Analytics

An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.


1 answer

Sort by: Most helpful
  1. Ravi Kiran Pagidi 170 Reputation points
    2026-07-11T02:57:52.0766667+00:00

    Hi Drithi,

    This usually happens when Synapse Publish is not actually reading the custom parameter definition file, or the JSON path in the file does not match the linked service JSON.

    A few things to check:

    1. The file name must be exactly:
    template-parameters-definition.json
    

    It must be committed in the root of the Git branch that Synapse uses as the collaboration branch. If the file is only in another branch, local folder, or not committed before Publish, Synapse will use the default parameter template.

    For Synapse, make sure the resource type is:

    "Microsoft.Synapse/workspaces/linkedServices"
    

    not the Data Factory type:

    "Microsoft.DataFactory/factories/linkedServices"
    

    Make sure the property path matches the linked service JSON. For example, for a connection string under typeProperties:

    {
      "Microsoft.Synapse/workspaces/linkedServices": {
        "*": {
          "properties": {
            "typeProperties": {
              "connectionString": "|:-connectionString:secureString"
            }
          }
        }
      }
    }
    

    Re-publish from Synapse Studio after committing the file, then check whether TemplateParametersForWorkspace.json in the publish branch contains the new parameter.

    ScopeBindings and synapse.httpextensionParameters.json will not create parameters by themselves. They can only override parameters that already exist in TemplateParametersForWorkspace.json.

    If it is still not generated, I would test with a very small parameter definition first, for only one obvious linked service property such as connectionString or Key Vault baseUrl. If that works, then add the remaining linked service properties one by one.

    Also, if the linked service uses Key Vault, it is usually better to keep the secret name consistent across environments and parameterize the Key Vault linked service/base URL rather than hardcoding connection strings in the deployment pipeline.

    Docs:

    Synapse CI/CD custom parameters: https://learn.microsoft.com/en-us/azure/synapse-analytics/cicd/continuous-integration-delivery#create-custom-parameters-in-the-workspace-template

    Synapse workspace deployment task: https://learn.microsoft.com/en-us/azure/synapse-analytics/cicd/continuous-integration-delivery

    Parameterize linked services: https://learn.microsoft.com/en-us/azure/data-factory/parameterize-linked-services

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.