Sampel skrip pra dan pos penerapan

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Sampel berikut menunjukkan cara menggunakan skrip pra dan pos penyebaran dengan integrasi berkelanjutan dan pengiriman di Azure Data Factory.

Menginstal Azure PowerShell

Pasang modul Azure PowerShell terbaru dengan mengikuti petunjuk dalam Cara menginstal dan mengonfigurasi Azure PowerShell.

Peringatan

Pastikan untuk menggunakan PowerShell Core dalam tugas ADO untuk menjalankan skrip

Skrip pra dan pos penyebaran

Contoh skrip untuk menghentikan/memulai pemicu dan memperbarui parameter global selama proses rilis (CICD) terletak di halaman GitHub Resmi Azure Data Factory.

Catatan

Gunakan PrePostDeploymentScript.Ver2.ps1 apabila Anda hanya ingin menonaktifkan/mengaktifkan pemicu yang telah dimodifikasi alih-alih menonaktifkan/mengaktifkan semua pemicu selama CI/CD.

Eksekusi dan parameter skrip

Contoh skrip berikut dapat digunakan untuk menghentikan pemicu sebelum penyebaran dan memulai ulang sesudahnya. Skrip ini juga menyertakan kode untuk menghapus sumber daya yang telah dihapus. Simpan skrip di repositori git Azure DevOps dan referensikan melalui tugas Azure PowerShell yang berupa versi Azure PowerShell terbaru.

Saat menjalankan skrip pra-penyebaran, Anda perlu menentukan variasi parameter berikut di bidang Argumen Skrip.

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

Saat menjalankan skrip postdeployment, Anda perlu menentukan variasi parameter berikut di bidang Argumen Skrip.

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

Catatan

Bendera -deleteDeployment digunakan untuk menentukan penghapusan entri penyebaran ADF dari riwayat penyebaran di ARM.

Azure PowerShell task

Eksekusi dan parameter skrip - Alur YAML

Kode YAML berikut menjalankan skrip yang dapat digunakan untuk menghentikan pemicu sebelum penyebaran dan memulai ulang setelahnya. Skrip ini juga menyertakan kode untuk menghapus sumber daya yang telah dihapus. Jika Anda mengikuti langkah-langkah yang diuraikan dalam Alur CI/CD Baru, skrip ini diekspor sebagai bagian dari artefak yang dibuat melalui paket penerbitan npm.

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

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