Condividi tramite


Esempio di script di pre-distribuzione e post-distribuzione

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

L'esempio seguente illustra come usare uno script pre-distribuzione e post-distribuzione con integrazione e recapito continui in Azure Data Factory.

Installare Azure PowerShell

Installare i moduli di Azure PowerShell più recenti seguendo le istruzioni descritte in Come installare e configurare Azure PowerShell.

Avviso

Assicurarsi di usare PowerShell Core nell’attività ADO per eseguire lo script

Script pre-distribuzione e post-distribuzione

Gli script di esempio per arrestare/avviare i trigger e aggiornare i parametri globali durante il processo di rilascio (CICD) si trovano nella pagina GitHub ufficiale di Azure Data Factory.

Nota

Usare PrePostDeploymentScript.Ver2.ps1 se si vuole disattivare/attivare solo i trigger modificati anziché disattivare/attivare tutti i trigger durante l’integrazione continua e recapito continuo (CI/CD).

Esecuzione di script e parametri

Lo script di esempio seguente può essere usato per arrestare i trigger prima della distribuzione e riavviarli in seguito. Lo script include anche il codice per eliminare le risorse che sono state rimosse. Salvare lo script in un repository Git di Azure DevOps e farvi riferimento tramite un'attività di Azure PowerShell la versione più recente di Azure PowerShell.

Quando si esegue uno script di pre-distribuzione, è necessario specificare una variante dei parametri seguenti nel campo Argomenti script .

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

Quando si esegue uno script di post-distribuzione, è necessario specificare una variante dei parametri seguenti nel campo Argomenti script .

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

Nota

Il -deleteDeployment flag viene usato per specificare l'eliminazione della voce di distribuzione di Azure Data Factory dalla cronologia di distribuzione in ARM.

Attività di Azure PowerShell

Esecuzione di script e parametri - Pipeline YAML

Il codice YAML seguente esegue uno script che può essere usato per arrestare i trigger prima della distribuzione e riavviarli in seguito. Lo script include anche il codice per eliminare le risorse che sono state rimosse. Se si seguono i passaggi descritti in Nuovo flusso CI/CD, questo script viene esportato come parte dell'artefatto creato tramite il pacchetto di pubblicazione npm.

Arrestare i trigger di Azure Data Factory

 - 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: ../

Avviare i trigger di Azure Data Factory

          - 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: ../