你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
部署前和部署后示例脚本
适用范围:Azure 数据工厂
Azure Synapse Analytics
提示
试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用!
以下示例演示了如何在 Azure 数据工厂中使用部署前和部署后脚本进行持续集成和交付。
安装 Azure PowerShell
按如何安装和配置 Azure PowerShell 中的说明安装最新的 Azure PowerShell 模块。
警告
确保在 ADO 任务中使用 PowerShell Core 来运行脚本
部署前和部署后脚本
用于在发布过程中停止/启动触发器和更新全局参数的示例脚本 (CICD) 位于 Azure 数据工厂官方 GitHub 页中。
注意
如果只是想关闭/打开已修改的触发器,而不是在 CI/CD 期间关闭/打开所有触发器,请使用 PrePostDeploymentScript.Ver2.ps1。
脚本执行和脚本参数
以下示例脚本可用于在部署之前停止触发器,并在部署之后重启触发器。 此脚本还包括用于删除已移除资源的代码。 将脚本保存在 Azure DevOps git 存储库中,并通过 Azure PowerShell 任务最新的 Azure PowerShell 版本加以引用。
在运行部署前脚本时,需在“脚本参数”字段中指定以下参数的变体。
-armTemplate "$(System.DefaultWorkingDirectory)/<your-arm-template-location>" -ResourceGroupName <your-resource-group-name> -DataFactoryName <your-data-factory-name> -predeployment $true -deleteDeployment $false
在运行部署后脚本时,需在“脚本参数”字段中指定以下参数的变体。
-armTemplate "$(System.DefaultWorkingDirectory)/<your-arm-template-location>" -ResourceGroupName <your-resource-group-name> -DataFactoryName <your-data-factory-name> -predeployment $false -deleteDeployment $true
注意
-deleteDeployment
标志用于指定从 ARM 的部署历史记录中删除 ADF 部署条目。
脚本执行和参数 - YAML 管道
以下 YAML 代码会执行可用于在部署之前停止触发器,并在部署之后重启触发器的脚本。 此脚本还包括用于删除已移除资源的代码。 如果遵循新 CI/CD 流中所述的步骤,则此脚本会作为通过 npm 发布包创建的工件的一部分导出。
停止 ADF 触发器
- task: AzurePowerShell@5
displayName: Stop ADF Triggers
inputs:
scriptType: 'FilePath'
ConnectedServiceNameARM: AzureDevServiceConnection
scriptPath: ../ADFTemplates/PrePostDeploymentScript.ps1
ScriptArguments: -armTemplate "<your-arm-template-location>" -ResourceGroupName <your-resource-group-name> -DataFactoryName <your-data-factory-name> -predeployment $true -deleteDeployment $false
errorActionPreference: stop
FailOnStandardError: False
azurePowerShellVersion: 'LatestVersion'
pwsh: True
workingDirectory: ../
启动 ADF 触发器
- task: AzurePowerShell@5
displayName: Start ADF Triggers
inputs:
scriptType: 'FilePath'
ConnectedServiceNameARM: AzureDevServiceConnection
scriptPath: ../ADFTemplates/PrePostDeploymentScript.ps1
ScriptArguments: -armTemplate "<your-arm-template-location>" -ResourceGroupName <your-resource-group-name> -DataFactoryName <your-data-factory-name>-predeployment $false -deleteDeployment $true
errorActionPreference: stop
FailOnStandardError: False
azurePowerShellVersion: 'LatestVersion'
pwsh: True
workingDirectory: ../