Script pré e pós-implantação de exemplo

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

O exemplo a seguir demonstra como usar um script pré- e pós-implantação com integração e entrega contínuas no Azure Data Factory.

Instalar o Azure PowerShell

Instale os módulos mais recentes do Azure PowerShell seguindo as instruções em Como instalar e configurar o Azure PowerShell.

Aviso

Use o Núcleo PowerShell na tarefa ADO para executar o script

Script pré e pós-implantação

Os scripts de exemplo para interromper/iniciar gatilhos e atualizar os parâmetros globais durante o processo de versão (CI/CD) estão localizados na página oficial do Azure Data Factory no GitHub.

Observação

Use o PrePostDeploymentScript.Ver2.ps1 se você quiser ativar/desativar somente os gatilhos que foram modificados em vez de ativar/desativar todos os gatilhos durante a CI/CD.

Execução e parâmetros de script

O script de exemplo a seguir pode ser usado para parar os gatilhos antes da implantação e reiniciá-los depois. O script também inclui código para excluir recursos que foram removidos. Salve o script em um repositório do git do Azure DevOps e referencie-o por meio de uma tarefa do Azure PowerShell com a última versão do Azure PowerShell.

Ao executar um script pré-implantação, você precisa especificar uma variação dos parâmetros a seguir no campo Argumentos de Script.

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

Ao executar um script pós-implantação, você precisa especificar uma variação dos parâmetros a seguir no campo Argumentos de Script.

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

Observação

O sinalizador -deleteDeployment é usado para especificar a exclusão da entrada de implantação do ADF do histórico de implantação no ARM.

Azure PowerShell task

Execução e parâmetros de script – Pipelines YAML

O cógido YAML a seguir executa um script que pode ser usado para parar os gatilhos antes da implantação e reiniciá-los depois. O script também inclui código para excluir recursos que foram removidos. Se você estiver seguindo as etapas descritas em Novo Fluxo de CI/CD, esse script será exportado como parte do artefato criado por meio do pacote de publicação npm.

Parar gatilhos do 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: ../

Iniciar gatilhos do 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: ../