ADF-Global parameters inside Linked Service

Dario Antolini 21 Reputation points
2023-10-01T08:53:07.1+00:00

Hi all!

My company is starting to make use of DevOps pipeline to share the same code in all the productive and not productive envirorments. Before this, everything was wild. For example, the linked service for the Azure KeyVault has the url-link written inside it, and now any time we deploy this solution we need to modify the url in every other envirorments.

We tried to create a global parameter for this url and a parameter-value inside the LS of AzureKeyVault, but this will affect ALL the other linked services, datasets and pipeline activity, and since we already have A LOT OF pipelines we don't want to use this solution.

Is there a way to put the KeyVault-url global parameter directly inside the relative Linked Service? Or is there a way to modify the Azure DevOps pipeline in order to modify this url inside the KeyVault linked service?

Thank you,

DA

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
10,517 questions
{count} votes

1 answer

Sort by: Most helpful
  1. PRADEEPCHEEKATLA-MSFT 88,461 Reputation points Microsoft Employee
    2023-10-10T12:21:45.8566667+00:00

    @Dario Antolini - I'm glad that you were able to resolve your issue and thank you for posting your solution so that others experiencing the same thing can easily reference this! Since the Microsoft Q&A community has a policy that "The question author cannot accept their own answer. They can only accept answers by others ", I'll repost your solution in case you'd like to accept the answer .

    Ask: ADF-Global parameters inside Linked Service

    Is there a way to put the KeyVault-url global parameter directly inside the relative Linked Service? Or is there a way to modify the Azure DevOps pipeline in order to modify this url inside the KeyVault linked service?

    Solution: The solution with the parameter valuable at runtime is good, but it does not fit our needs. Since we want something that it can be tested for other Linked Services and Datasets, we preferred to use a different approach.

    Our CI/CD pipeline starts only in Dev envirorment, and every release can deploy the same code in the other envirorment. The problem is in the fundational linked service for Azure KeyVault because it has inside a direct URL pointing to the Azure KeyVault for Dev env. When we deploy a release in other envirorments, this URL remains pointing to the one of Dev. So we have decided to add another step in the release section of Azure DevOps, where it calls the API-PUT for updating this linked service, so that we can change the URL depending on the envirorment the release is deploying.

    In this way, ADF architecture remains the same as we have right now, and after the release we get the right URL for the Azure KeyVault of the relative envirorment.

    If I missed anything please let me know and I'd be happy to add it to my answer, or feel free to comment below with any additional information.

    I hope this helps!

    If you have any other questions, please let me know. Thank you again for your time and patience throughout this issue.


    Please don’t forget to Accept Answer and Yes for "was this answer helpful" wherever the information provided helps you, this can be beneficial to other community members.

    0 comments No comments

Your answer

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