Importing ARM Template into a git configured ADF Workspace

2025-02-08T01:03:08.5133333+00:00

Hi All,

I have a situation here and I am new to Azure Data Factory & DevOps. I have multiple ADF Workspaces of which Workspace_A is git enabled but it does not have any resources.

Workspace_B is in Live mode but has all the pipelines, dataflows, datasets, linked services, credentials, triggers, etc. All environment specific resources are globally parametrized.

I need to export everything from Workspace_B and import it into my collaboration branch of Workspace_A.

Workspace_A & Workspace_B both share the same SHIR.

Any help on this would be much appreciated.

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
11,215 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Vinodh247 27,386 Reputation points MVP
    2025-02-10T01:24:28.5233333+00:00

    Hi ,

    Thanks for reaching out to Microsoft Q&A.

    In my view, you can achieve this migration in a few steps as below. Since Workspace_A is already Git-enabled and Workspace_B is in Live mode, you need to manually export and import the ARM template resources from Workspace_B to Workspace_A:

    Step 1: Export ARM Template from Workspace_B

    Navigate to Workspace_B in the Azure Portal:

    • Open Azure Data Factory and select Workspace_B.

    Export the ARM Template:

      - In Workspace_B, go to "Manage" (gear icon on the left).
      
         - Under "Source Control", select "ARM template".
         
            - Click on "Export ARM template".
            
               - Download the exported `.zip` file, which contains the ARM template and related parameters.
               
               Unzip the file:
               
                  - Extract the `.zip` file to a local folder. It will contain:
                  
                        - `ARMTemplateForFactory.json`
                        
                              - `ARMTemplateParametersForFactory.json`
                              
    

    Step 2: Import the ARM Template into Workspace_A

    1. Prepare Workspace_A for Import:
      • Ensure Workspace_A is already linked to a Git repository. It should have a collaboration branch (ex: main or master).
      • Open Workspace_A in the Azure Portal.
      Import the ARM Template:
      • Navigate to the Git-enabled Workspace_A.
        • Go to "Manage" > "ARM template".
          • Click "Import ARM template".
            • Upload the ARMTemplateForFactory.json and ARMTemplateParametersForFactory.json files from the extracted folder.
            Configure Parameters:
            - During import, ensure you adjust the global parameters for environment-specific configurations, such as `Linked Services`, connection strings, or other credentials.
            
            Validation:
            
               - The Azure portal will validate the ARM template before deployment. If there are errors, address any inconsistencies in the parameters file or resource definitions.
            

    Step 3: Save Changes to Git (Workspace_A)

    Review Imported Resources:

    • After importing, review the pipelines, dataflows, datasets, triggers, etc., to confirm everything has been imported correctly.
    1. Commit to Git:
    • Go to the Author section in Workspace_A.
    • Check that all resources are present.
      • Publish and commit these changes to the collaboration branch (ex: main).

    Step 4: Verify SHIR

    Since Workspace_A and Workspace_B share the same SHIR, no additional configuration is needed. However, verify that:

    1. The SHIR is properly configured and accessible by both workspaces.
    2. Any linked service that references the SHIR is working correctly in Workspace_A.

    Global Parameters: If Workspace_B uses global parameters, make sure these are included in the ARM template import and adjusted appropriately for Workspace_A.

    Credentials: Revalidate any sensitive credentials in linked services after import because some credentials may not be fully migrated.

    Triggers: Ensure triggers are disabled during migration to avoid accidental runs and re-enable them only after validation.

    Let me know if this works.

    Please feel free to click the 'Upvote' (Thumbs-up) button and 'Accept as Answer'. This helps the community by allowing others with similar queries to easily find the solution.

    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.