Пример скрипта предварительного и после развертывания

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

В следующем примере показано, как использовать скрипты, выполняемые до и после развертывания, с непрерывной интеграцией и поставкой в фабрике данных Azure.

Чтобы установить Azure PowerShell, выполните следующие действия

Чтобы установить модули Azure PowerShell, выполните инструкции из статьи Установка и настройка Azure PowerShell.

Предупреждение

Обязательно используйте PowerShell Core в задаче ADO для запуска скрипта.

Скрипт, выполняемый до и после развертывания

Примеры скриптов для остановки и запуска триггеров и обновления глобальных параметров во время процесса выпуска (CICD) находятся на официальной странице Фабрики данных Azure в GitHub.

Примечание.

Используйте PrePostDeploymentScript.Ver2.ps1, если требуется отключить или включить только те триггеры, которые были изменены, а не отключать и не включать все триггеры во время CI/CD.

Выполнение скрипта и параметры

Ниже приведен пример сценария для остановки триггеров перед развертыванием и их последующего перезапуска. Скрипт также содержит код для удаления ресурсов. Сохраните скрипт в репозитории 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

При запуске скрипта postdeployment необходимо указать вариант следующих параметров в поле "Аргументы скрипта ".

-armTemplate "$(System.DefaultWorkingDirectory)/<your-arm-template-location>" -ResourceGroupName <your-resource-group-name> -DataFactoryName <your-data-factory-name> -predeployment $false -deleteDeployment $true

Примечание.

-deleteDeployment флажок используется, чтобы указать на удаление записи о развертывании ADF из журнала развертывания в ARM.

Azure PowerShell task

Выполнение скрипта и параметры — конвейеры 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: ../