An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
To automate the activation of tables in Synapse Link for Dataverse and deploy these configurations across different environments, you can use a combination of Power Automate, PowerShell scripts, and the Dataverse API.
Automating Table Activation
- Power Automate Flow: Create a Power Automate flow to automate the table activation process.
- Step 1: Use the HTTP connector in Power Automate to call the Dataverse API.
- Step 2: Fetch the list of tables using the
GET /api/data/v9.0/entitiesendpoint. - Step 3: Iterate through the list of tables and activate each one by updating the respective table settings.
- PowerShell Script: Alternatively, you can use PowerShell to automate this process.
# Connect to Dataverse $ConnectionUri = "https://<your-organization>.crm.dynamics.com" $clientId = "<your-client-id>" $clientSecret = "<your-client-secret>" $tenantId = "<your-tenant-id>" # Get Access Token $body = @{ client_id = $clientId scope = "https://<your-organization>.crm.dynamics.com/.default" client_secret = $clientSecret grant_type = "client_credentials" } $response = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" -ContentType "application/x-www-form-urlencoded" -Body $body $accessToken = $response.access_token # Get List of Tables $tablesUri = "$ConnectionUri/api/data/v9.0/entities" $headers = @{ Authorization = "Bearer $accessToken" } $tablesResponse = Invoke-RestMethod -Method Get -Uri $tablesUri -Headers $headers # Activate Tables foreach ($table in $tablesResponse.value) { $tableName = $table.LogicalName $activateTableUri = "$ConnectionUri/api/data/v9.0/$tableName" $body = @{ "isManaged" = true } | ConvertTo-Json Invoke-RestMethod -Method Patch -Uri $activateTableUri -Headers $headers -Body $body -ContentType "application/json" }
Deploying Table Configurations Across Environments
- Export Configuration from Development Environment: Use the Configuration Migration tool from the Power Platform to export the table activation settings from the development environment.
- Step 1: Download and install the Configuration Migration tool.
- Step 2: Use the tool to create a schema file and export the data.
- Import Configuration to Other Environments: Use the Configuration Migration tool to import the exported configuration into the test, pre-production, and production environments.
- Step 1: Connect to the target environment using the Configuration Migration tool.
- Step 2: Import the previously exported schema and data.
- Automate the Deployment: Create a Power Automate flow or a PowerShell script to automate the import process in each environment.
# Import Configuration to Target Environment $targetEnvironmentUri = "https://<target-organization>.crm.dynamics.com" # Update Connection Details for Target Environment $headers = @{ Authorization = "Bearer $accessToken" } # Import Configuration $importUri = "$targetEnvironmentUri/api/data/v9.0/Import" $importBody = @{ "schemaFile" = "path-to-exported-schema-file" "dataFile" = "path-to-exported-data-file" } | ConvertTo-Json Invoke-RestMethod -Method Post -Uri $importUri -Headers $headers -Body $importBody -ContentType "application/json"