You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不启用Git的情况下导出Azure Synapse工作区的制品ARM模板?

是否可以从特定资源导出“Artifacts ARM Template”?

默认的ARM模板导出(包括你当前使用的REST API方式)仅会导出Synapse工作区的基础配置,不会包含Pipeline、数据流、数据集等工作区内部制品。在不启用Git集成的实时模式下,你可以通过以下几种方式导出包含这些制品的ARM模板:

方案1:Synapse Studio手动导出

  • 打开Synapse Studio,进入对应模块(如集成管理Pipeline、数据工程管理数据流/数据集)
  • 选中单个或多个目标制品,点击顶部的导出按钮,选择导出为ARM模板
  • 此方式可批量导出同类型制品,但需手动整理合并为完整部署模板,或分步骤部署

方案2:Azure PowerShell批量导出

使用Az.Synapse模块的专用命令导出各类制品的ARM模板片段:

  1. 安装模块:
    Install-Module -Name Az.Synapse -Force -AllowClobber
    
  2. 导出示例:
    # 导出指定Pipeline
    Export-AzSynapsePipeline -WorkspaceName "synapse-dev-napsty" -Name "MyPipeline" -OutputFolder "./synapse-templates"
    
    # 导出所有DataFlow
    Get-AzSynapseDataFlow -WorkspaceName "synapse-dev-napsty" | Export-AzSynapseDataFlow -OutputFolder "./synapse-templates/dataflows"
    
  3. 可将导出的模板片段合并为完整ARM模板,或在CI/CD中逐个部署

方案3:Synapse专用REST API导出

针对不同制品类型调用专属API获取ARM模板:

  • Pipeline导出:
    GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/pipelines/{pipelineName}/export?api-version=2021-06-01
    
  • DataFlow导出:
    GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/dataflows/{dataFlowName}/export?api-version=2021-06-01
    

这些API会返回包含制品完整配置的ARM模板片段,可收集后用于跨环境部署

方案4:自定义脚本批量导出

编写PowerShell或Python脚本,遍历工作区所有制品类型,自动调用上述API/命令批量导出所有制品的ARM模板,还可自动合并为类似Git模式下的完整部署模板,适配CI/CD流水线的批量部署需求


你当前通过REST API获取的仅包含工作区配置的ARM模板:

{
    "template": {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "vulnerabilityAssessments_Default_storageContainerPath": {
                "type": "SecureString"
            },
            "workspaces_synapse_dev_napsty_name": {
                "defaultValue": "synapse-dev-napsty",
                "type": "String"
            },
            "storageAccounts_napdatalake_externalid": {
                "defaultValue": "/subscriptions/8be7d968-ce5d-402f-84f0-ba21765d77c1/resourceGroups/devrg/providers/Microsoft.Storage/storageAccounts/napdatalake",
                "type": "String"
            }
        },
        "variables": {},
        "resources": [
            {
                "type": "Microsoft.Synapse/workspaces",
                "apiVersion": "2021-06-01",
                "name": "[parameters('workspaces_synapse_dev_napsty_name')]",
                "location": "australiaeast",
                "identity": {
                    "type": "SystemAssigned"
                },
                "properties": {
                    "defaultDataLakeStorage": {
                        "resourceId": "[parameters('storageAccounts_napdatalake_externalid')]",
                        "createManagedPrivateEndpoint": false,
                        "accountUrl": "https://napdatalake.dfs.core.windows.net",
                        "filesystem": "napdatalakefs"
                    },
                    "encryption": {},
                    "managedResourceGroupName": "synapseworkspace-managedrg-22275c84-71ba-412c-ac0c-90b1a6f93b4b",
                    "sqlAdministratorLogin": "sqladminuser",
                    "privateEndpointConnections": [],
                    "workspaceRepositoryConfiguration": {
                        "accountName": "napstyy0227",
                        "collaborationBranch": "dev",
                        "lastCommitId": "d2c9d624ec8fd345ef2f8acc84ab64ecfd6c3d79",
                        "projectName": "AzureSynapse",
                        "repositoryName": "AzureSynapse",
                        "rootFolder": "/synapse",
                        "tenantId": "63ec89f0-780b-4349-8a65-b8c44dddc8dd",
                        "type": "WorkspaceVSTSConfiguration"
                    },
                    "publicNetworkAccess": "Enabled",
                    "cspWorkspaceAdminProperties": {
                        "initialWorkspaceAdminObjectId": "94888bea-0df0-4bda-8c43-988d03fb0323"
                    },
                    "azureADOnlyAuthentication": false,
                    "trustedServiceBypassEnabled": false
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/auditingSettings",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/Default')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "retentionDays": 0,
                    "auditActionsAndGroups": [],
                    "isStorageSecondaryKeyInUse": false,
                    "isAzureMonitorTargetEnabled": false,
                    "state": "Disabled",
                    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000"
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/azureADOnlyAuthentications",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/default')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "azureADOnlyAuthentication": false
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/default')]",
                "location": "australiaeast",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "minimalTlsVersion": "1.2"
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/extendedAuditingSettings",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/Default')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "retentionDays": 0,
                    "auditActionsAndGroups": [],
                    "isStorageSecondaryKeyInUse": false,
                    "isAzureMonitorTargetEnabled": false,
                    "state": "Disabled",
                    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000"
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/firewallRules",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/allowAll')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "startIpAddress": "0.0.0.0",
                    "endIpAddress": "255.255.255.255"
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/integrationruntimes",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/AutoResolveIntegrationRuntime')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "type": "Managed",
                    "typeProperties": {
                        "computeProperties": {
                            "location": "AutoResolve"
                        }
                    }
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/securityAlertPolicies",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/Default')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "state": "Disabled",
                    "disabledAlerts": [
                        ""
                    ],
                    "emailAddresses": [
                        ""
                    ],
                    "emailAccountAdmins": false,
                    "retentionDays": 0
                }
            },
            {
                "type": "Microsoft.Synapse/workspaces/vulnerabilityAssessments",
                "apiVersion": "2021-06-01",
                "name": "[concat(parameters('workspaces_synapse_dev_napsty_name'), '/Default')]",
                "dependsOn": [
                    "[resourceId('Microsoft.Synapse/workspaces', parameters('workspaces_synapse_dev_napsty_name'))]"
                ],
                "properties": {
                    "recurringScans": {
                        "isEnabled": false,
                        "emailSubscriptionAdmins": true
                    },
                    "storageContainerPath": "[parameters('vulnerabilityAssessments_Default_storageContainerPath')]"
                }
            }
        ]
    }
}

内容的提问来源于stack exchange,提问作者Napsty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:03:10