Cara menyiapkan alur CI/CD untuk Azure Data Lake Analytics
Dalam artikel ini, Anda mempelajari cara menyiapkan alur integrasi dan penyebaran berkelanjutan (CI/CD) untuk pekerjaan U-SQL dan database U-SQL.
Penting
Azure Data Lake Analytics pensiun pada 29 Februari 2024. Pelajari lebih lanjut dengan pengumuman ini.
Untuk analitik data, organisasi Anda dapat menggunakan Azure Synapse Analytics atau Microsoft Fabric.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Gunakan CI/CD untuk pekerjaan U-SQL
Azure Data Lake Tools for Visual Studio menyediakan jenis proyek U-SQL yang membantu Anda mengatur skrip U-SQL. Menggunakan proyek U-SQL untuk mengelola kode U-SQL Anda membuat skenario CI/CD lebih mudah.
Membangun proyek U-SQL
Proyek U-SQL dapat dibangun dengan Microsoft Build Engine (MSBuild) melewati parameter yang sesuai. Ikuti langkah-langkah dalam artikel ini untuk menyiapkan proses build untuk proyek U-SQL.
Migrasi proyek
Sebelum Anda menyiapkan tugas build untuk proyek U-SQL, pastikan Anda memiliki proyek U-SQL versi terbaru. Buka file proyek U-SQL di editor Anda dan verifikasi bahwa Anda memiliki item impor ini:
<!-- check for SDK Build target in current path then in USQLSDKPath-->
<Import Project="UsqlSDKBuild.targets" Condition="Exists('UsqlSDKBuild.targets')" />
<Import Project="$(USQLSDKPath)\UsqlSDKBuild.targets" Condition="!Exists('UsqlSDKBuild.targets') And '$(USQLSDKPath)' != '' And Exists('$(USQLSDKPath)\UsqlSDKBuild.targets')" />
Jika tidak, Anda memiliki dua opsi untuk memigrasikan proyek:
- Opsi 1: Ubah item impor lama ke item sebelumnya.
- Opsi 2: Buka proyek lama di Azure Data Lake Tools for Visual Studio. Gunakan versi yang lebih baru dari 2.3.3000.0. Templat proyek lama akan ditingkatkan secara otomatis ke versi terbaru. Proyek baru yang dibuat dengan versi yang lebih baru dari 2.3.3000.0 menggunakan templat baru.
Dapatkan NuGet
MSBuild tidak menyediakan dukungan bawaan untuk proyek U-SQL. Untuk mendapatkan dukungan ini, Anda perlu menambahkan referensi untuk solusi Anda ke paket Microsoft.Azure.DataLake.USQL.SDK NuGet yang menambahkan layanan bahasa yang diperlukan.
Untuk menambahkan referensi paket NuGet, klik kanan solusi di Visual Studio Solution Explorer dan pilih Manage NuGet Packages (Kelola Paket NuGet) . Atau Anda dapat menambahkan file bernama packages.config
di folder solusi dan masukkan konten berikut ke dalamnya:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
Mengelola referensi database U-SQL
Skrip U-SQL dalam proyek U-SQL memiliki pernyataan kueri untuk objek database U-SQL. Dalam hal ini, Anda perlu merujuk proyek database U-SQL terkait yang menyertakan definisi objek sebelum Anda membangun proyek U-SQL. Contohnya adalah ketika Anda membuat kueri tabel U-SQL atau mereferensikan assembly.
Pelajari selengkapnya tentang proyek database U-SQL.
Catatan
Pernyataan DROP dapat menyebabkan penghapusan yang tidak disengaja. Untuk mengaktifkan pernyataan DROP, secara eksplisit, Anda perlu menentukan argumen MSBuild. AllowDropStatement akan mengaktifkan operasi DROP yang tidak terkait dengan data, seperti menghilangkan assembly (rakitan) dan fungsi bernilai tabel. AllowDataDropStatement akan mengaktifkan operasi DROP terkait data, seperti menghilangkan tabel dan skema. Anda harus mengaktifkan AllowDropStatement sebelum menggunakan AllowDataDropStatement.
Membangun proyek U-SQL dengan baris perintah MSBuild
Pertama-tama, migrasikan proyek dan dapatkan paket NuGet. Kemudian panggil baris perintah MSBuild standar dengan argumen berikut untuk membangun proyek U-SQL Anda:
msbuild USQLBuild.usqlproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime;USQLTargetType=SyntaxCheck;DataRoot=datarootfolder;/p:EnableDeployment=true
Definisi dan nilai argumen adalah sebagai berikut:
USQLSDKPath=<Paket U-SQL Nuget>\build\runtime. Parameter ini mengacu pada jalur penginstalan paket NuGet untuk layanan bahasa U-SQL.
USQLTargetType=Merge or SyntaxCheck:
Menggabung. Mode gabung mengompilasi file code-behind. Contohnya adalah file .cs, .py, dan .r. Fungsinya menyejajarkan pustaka kode yang ditentukan pengguna yang dihasilkan ke dalam skrip U-SQL. Contohnya adalah kode biner dll, Python, atau R.
SyntaxCheck. Mode SyntaxCheck pertama-tama menggabungkan file code-behind ke dalam skrip U-SQL. Kemudian mengompilasi skrip U-SQL untuk memvalidasi kode Anda.
DataRoot=<Jalur> DataRoot. DataRoot hanya diperlukan untuk mode SyntaxCheck. Saat menyusun skrip dengan mode SyntaxCheck, MSBuild memeriksa referensi ke objek database dalam skrip. Sebelum membangun, siapkan lingkungan lokal yang cocok yang berisi objek yang direferensikan dari database U-SQL di folder DataRoot mesin build. Anda juga dapat mengelola dependensi database ini dengan mereferensikan proyek database U-SQL. MSBuild hanya memeriksa referensi objek database, bukan file.
EnableDeployment=true or false. EnableDeployment menunjukkan apakah diizinkan untuk menggunakan database U-SQL yang direferensikan selama proses build. Jika Anda mereferensikan proyek database U-SQL dan menggunakan objek database di skrip U-SQL Anda, atur parameter ini ke true.
Integrasi berkelanjutan dengan Azure Pipelines
Selain baris perintah, Anda juga bisa menggunakan Visual Studio Build atau tugas MSBuild untuk membangun proyek U-SQL di Azure Pipelines. Untuk menyiapkan alur build, pastikan untuk menambahkan dua tugas di alur build: tugas pemulihan NuGet dan tugas MSBuild.
Tambahkan tugas pemulihan NuGet untuk mendapatkan paket NuGet yang direferensikan solusi dengan menyertakan
Azure.DataLake.USQL.SDK
, sehingga MSBuild dapat menemukan target bahasa U-SQL. Atur direktori Tujuan>Tingkat Lanjut ke$(Build.SourcesDirectory)/packages
jika Anda ingin menggunakan sampel argumen MSBuild langsung di langkah 2.Atur argumen MSBuild di alat build Visual Studio atau dalam tugas MSBuild seperti yang diperlihatkan dalam contoh berikut. Atau Anda bisa menentukan variabel untuk argumen ini di alur build Azure Pipelines.
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime /p:USQLTargetType=SyntaxCheck /p:DataRoot=$(Build.SourcesDirectory) /p:EnableDeployment=true
Output build proyek U-SQL
Setelah Anda menjalankan build, semua skrip dalam proyek U-SQL dibuat dan dikeluarkan ke file zip bernama USQLProjectName.usqlpack
. Struktur folder dalam proyek Anda disimpan dalam output build zip.
Catatan
File code-behind untuk setiap skrip U-SQL akan digabungkan sebagai pernyataan sebaris ke output build skrip.
Menguji skrip U-SQL
Azure Data Lake menyediakan proyek pengujian untuk skrip U-SQL dan C# UDO/UDAG/UDF:
Pelajari cara menambahkan kasus pengujian untuk skrip U-SQL dan kode C# yang diperluas
Pelajari cara menjalankan kasus pengujian di Azure Pipelines.
Menyebarkan pekerjaan U-SQL
Setelah memverifikasi kode melalui proses build dan test, Anda dapat mengirimkan pekerjaan U-SQL langsung dari Azure Pipelines melalui tugas Azure PowerShell. Anda juga dapat menggunakan skrip ke Penyimpanan Azure Data Lake Store atau Azure Blob dan menjalankan pekerjaan terjadwal melalui Azure Data Factory.
Kirim pekerjaan U-SQL melalui Azure Pipelines
Output build dari proyek U-SQL adalah file zip yang bernama USQLProjectName.usqlpack. File zip mencakup semua skrip U-SQL dalam proyek. Anda bisa menggunakan tugas Azure PowerShell di Pipelines dengan sampel skrip PowerShell berikut ini untuk mengirimkan pekerjaan U-SQL langsung dari Azure Pipelines.
<#
This script can be used to submit U-SQL Jobs with given U-SQL project build output(.usqlpack file).
This will unzip the U-SQL project build output, and submit all scripts one-by-one.
Note: the code behind file for each U-SQL script will be merged into the built U-SQL script in build output.
Example :
USQLJobSubmission.ps1 -ADLAAccountName "myadlaaccount" -ArtifactsRoot "C:\USQLProject\bin\debug\" -DegreeOfParallelism 2
#>
param(
[Parameter(Mandatory=$true)][string]$ADLAAccountName, # ADLA account name to submit U-SQL jobs
[Parameter(Mandatory=$true)][string]$ArtifactsRoot, # Root folder of U-SQL project build output
[Parameter(Mandatory=$false)][string]$DegreeOfParallelism = 1
)
function Unzip($USQLPackfile, $UnzipOutput)
{
$USQLPackfileZip = Rename-Item -Path $USQLPackfile -NewName $([System.IO.Path]::ChangeExtension($USQLPackfile, ".zip")) -Force -PassThru
Expand-Archive -Path $USQLPackfileZip -DestinationPath $UnzipOutput -Force
Rename-Item -Path $USQLPackfileZip -NewName $([System.IO.Path]::ChangeExtension($USQLPackfileZip, ".usqlpack")) -Force
}
## Get U-SQL scripts in U-SQL project build output(.usqlpack file)
Function GetUsqlFiles()
{
$USQLPackfiles = Get-ChildItem -Path $ArtifactsRoot -Include *.usqlpack -File -Recurse -ErrorAction SilentlyContinue
$UnzipOutput = Join-Path $ArtifactsRoot -ChildPath "UnzipUSQLScripts"
foreach ($USQLPackfile in $USQLPackfiles)
{
Unzip $USQLPackfile $UnzipOutput
}
$USQLFiles = Get-ChildItem -Path $UnzipOutput -Include *.usql -File -Recurse -ErrorAction SilentlyContinue
return $USQLFiles
}
## Submit U-SQL scripts to ADLA account one-by-one
Function SubmitAnalyticsJob()
{
$usqlFiles = GetUsqlFiles
Write-Output "$($usqlFiles.Count) jobs to be submitted..."
# Submit each usql script and wait for completion before moving ahead.
foreach ($usqlFile in $usqlFiles)
{
$scriptName = "[Release].[$([System.IO.Path]::GetFileNameWithoutExtension($usqlFile.fullname))]"
Write-Output "Submitting job for '{$usqlFile}'"
$jobToSubmit = Submit-AzDataLakeAnalyticsJob -Account $ADLAAccountName -Name $scriptName -ScriptPath $usqlFile -DegreeOfParallelism $DegreeOfParallelism
LogJobInformation $jobToSubmit
Write-Output "Waiting for job to complete. Job ID:'{$($jobToSubmit.JobId)}', Name: '$($jobToSubmit.Name)' "
$jobResult = Wait-AzDataLakeAnalyticsJob -Account $ADLAAccountName -JobId $jobToSubmit.JobId
LogJobInformation $jobResult
}
}
Function LogJobInformation($jobInfo)
{
Write-Output "************************************************************************"
Write-Output ([string]::Format("Job Id: {0}", $(DefaultIfNull $jobInfo.JobId)))
Write-Output ([string]::Format("Job Name: {0}", $(DefaultIfNull $jobInfo.Name)))
Write-Output ([string]::Format("Job State: {0}", $(DefaultIfNull $jobInfo.State)))
Write-Output ([string]::Format("Job Started at: {0}", $(DefaultIfNull $jobInfo.StartTime)))
Write-Output ([string]::Format("Job Ended at: {0}", $(DefaultIfNull $jobInfo.EndTime)))
Write-Output ([string]::Format("Job Result: {0}", $(DefaultIfNull $jobInfo.Result)))
Write-Output "************************************************************************"
}
Function DefaultIfNull($item)
{
if ($item -ne $null)
{
return $item
}
return ""
}
Function Main()
{
Write-Output ([string]::Format("ADLA account: {0}", $ADLAAccountName))
Write-Output ([string]::Format("Root folde for usqlpack: {0}", $ArtifactsRoot))
Write-Output ([string]::Format("AU count: {0}", $DegreeOfParallelism))
Write-Output "Starting USQL script deployment..."
SubmitAnalyticsJob
Write-Output "Finished deployment..."
}
Main
Catatan
Perintah: Submit-AzDataLakeAnalyticsJob
dan Wait-AzDataLakeAnalyticsJob
keduanya adalah Azure PowerShell cmdlets untuk Azure Data Lake Analytics dalam kerangka kerja Azure Resource Manager. Anda akan memerlukan workstation (tempat kerja) dengan Azure PowerShell terinstal. Anda dapat merujuk ke daftar perintah untuk lebih banyak perintah dan contoh.
Menyebarkan pekerjaan U-SQL melalui Azure Data Factory
Anda dapat mengirimkan pekerjaan U-SQL langsung dari Azure Pipelines. Anda juga dapat menggunakan skrip yang dibuat ke penyimpanan Azure Data Lake Store atau Azure Blob dan menjalankan pekerjaan terjadwal melalui Azure Data Factory.
Gunakan tugas Azure PowerShell di Azure Pipelines dengan sampel skrip PowerShell berikut ini untuk mengunggah skrip U-SQL ke akun Azure Data Lake Store:
<#
This script can be used to upload U-SQL files to ADLS with given U-SQL project build output(.usqlpack file).
This will unzip the U-SQL project build output, and upload all scripts to ADLS one-by-one.
Example :
FileUpload.ps1 -ADLSName "myadlsaccount" -ArtifactsRoot "C:\USQLProject\bin\debug\"
#>
param(
[Parameter(Mandatory=$true)][string]$ADLSName, # ADLS account name to upload U-SQL scripts
[Parameter(Mandatory=$true)][string]$ArtifactsRoot, # Root folder of U-SQL project build output
[Parameter(Mandatory=$false)][string]$DestinationFolder = "USQLScriptSource" # Destination folder in ADLS
)
Function UploadResources()
{
Write-Host "************************************************************************"
Write-Host "Uploading files to $ADLSName"
Write-Host "***********************************************************************"
$usqlScripts = GetUsqlFiles
$files = @(get-childitem $usqlScripts -recurse)
foreach($file in $files)
{
Write-Host "Uploading file: $($file.Name)"
Import-AzDataLakeStoreItem -AccountName $ADLSName -Path $file.FullName -Destination "/$(Join-Path $DestinationFolder $file)" -Force
}
}
function Unzip($USQLPackfile, $UnzipOutput)
{
$USQLPackfileZip = Rename-Item -Path $USQLPackfile -NewName $([System.IO.Path]::ChangeExtension($USQLPackfile, ".zip")) -Force -PassThru
Expand-Archive -Path $USQLPackfileZip -DestinationPath $UnzipOutput -Force
Rename-Item -Path $USQLPackfileZip -NewName $([System.IO.Path]::ChangeExtension($USQLPackfileZip, ".usqlpack")) -Force
}
Function GetUsqlFiles()
{
$USQLPackfiles = Get-ChildItem -Path $ArtifactsRoot -Include *.usqlpack -File -Recurse -ErrorAction SilentlyContinue
$UnzipOutput = Join-Path $ArtifactsRoot -ChildPath "UnzipUSQLScripts"
foreach ($USQLPackfile in $USQLPackfiles)
{
Unzip $USQLPackfile $UnzipOutput
}
return Get-ChildItem -Path $UnzipOutput -Include *.usql -File -Recurse -ErrorAction SilentlyContinue
}
UploadResources
CI/CD untuk database U-SQL
Azure Data Lake Tools for Visual Studio menyediakan templat proyek database U-SQL yang membantu Anda mengembangkan, mengelola, dan menyebarkan database U-SQL. Pelajari selengkapnya tentang proyek database U-SQL.
Membangun proyek database U-SQL
Dapatkan paket NuGet
MSBuild tidak menyediakan dukungan bawaan untuk proyek database U-SQL. Untuk mendapatkan kemampuan ini, Anda perlu menambahkan referensi untuk solusi Anda ke paket Microsoft.Azure.DataLake.USQL.SDK NuGet yang menambahkan layanan bahasa yang diperlukan.
Untuk menambahkan referensi paket NuGet, klik kanan solusi di Visual Studio Solution Explorer. Pilih Manage NuGet Packages (Kelola Paket NuGet) . Kemudian cari dan instal paket NuGet. Atau Anda dapat menambahkan file bernama package.config di folder solusi dan memasukkan konten berikut ke dalamnya:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
Membangun U-SQL proyek database dengan baris perintah MSBuild
Untuk membangun proyek database U-SQL Anda, panggil baris perintah MSBuild standar dan teruskan referensi paket U-SQL SDK NuGet sebagai argumen lain. Lihat contoh berikut:
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
Argumen USQLSDKPath=<U-SQL Nuget package>\build\runtime
mengacu pada jalur penginstalan paket NuGet untuk layanan bahasa U-SQL.
Integrasi berkelanjutan dengan Alur Pipa Azure
Selain baris perintah, Anda bisa menggunakan Visual Studio Build atau tugas MSBuild untuk membangun proyek database U-SQL di Azure Pipelines. Untuk menyiapkan tugas build, pastikan untuk menambahkan dua tugas di alur build: tugas pemulihan NuGet dan tugas MSBuild.
Tambahkan tugas pemulihan NuGet untuk mendapatkan paket NuGet yang direferensikan solusi, yang mencakup
Azure.DataLake.USQL.SDK
, sehingga MSBuild dapat menemukan target bahasa U-SQL. Atur direktori Tujuan>Tingkat Lanjut ke$(Build.SourcesDirectory)/packages
jika Anda ingin menggunakan sampel argumen MSBuild langsung di langkah 2.Atur argumen MSBuild di alat build Visual Studio atau dalam tugas MSBuild seperti yang diperlihatkan dalam contoh berikut. Atau Anda bisa menentukan variabel untuk argumen ini di alur build Azure Pipelines.
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
Output build proyek database U-SQL
Output build untuk proyek database U-SQL adalah paket penyebaran database U-SQL, dinamai dengan akhiran .usqldbpack
. Paket .usqldbpack
merupakan file zip yang mencakup semua pernyataan DDL dalam satu skrip U-SQL di folder DDL. Ini termasuk semua .dlls dan file lain untuk assembly dalam folder sementara.
Menguji fungsi bernilai tabel dan prosedur yang disimpan
Menambahkan kasus pengujian untuk fungsi bernilai tabel dan prosedur yang disimpan secara langsung saat ini tidak didukung. Sebagai solusinya, Anda dapat membuat proyek U-SQL yang memiliki skrip U-SQL yang menggunakan fungsi tersebut dan menulis kasus pengujian untuknya. Lakukan langkah-langkah berikut untuk menyiapkan kasus pengujian untuk fungsi bernilai tabel dan prosedur tersimpan yang ditentukan dalam proyek database U-SQL:
Buat proyek U-SQL untuk tujuan pengujian dan tulis skrip U-SQL yang menyebut fungsi bernilai tabel dan prosedur yang disimpan.
Tambahkan referensi database ke proyek U-SQL. Untuk mendapatkan fungsi bernilai tabel dan definisi prosedur yang disimpan, Anda perlu mereferensikan proyek database yang berisi pernyataan DDL. Pelajari selengkapnya tentang referensi database.
Tambahkan kasus pengujian untuk skrip U-SQL yang menggunakan fungsi bernilai tabel dan prosedur yang disimpan. Pelajari cara menambahkan kasus pengujian untuk skrip U-SQL.
Menyebarkan database U-SQL melalui Azure Pipelines
PackageDeploymentTool.exe
menyediakan antarmuka pemrograman dan baris perintah yang membantu menyebarkan paket penyebaran database U-SQL, .usqldbpack. SDK termasuk dalam paket U-SQL SDK NuGet, yang terletak di build /runtime / PackageDeploymentTool.exe. Dengan menggunakan PackageDeploymentTool.exe
, Anda dapat menyebarkan database U-SQL ke Azure Data Lake Analytics dan akun lokal.
Catatan
Dukungan baris perintah PowerShell dan dukungan tugas rilis Azure Pipelines untuk penyebaran database U-SQL saat ini tertunda.
Ikuti langkah-langkah berikut untuk menyiapkan tugas penyebaran database di Azure Pipelines:
Tambahkan tugas PowerShell Script dalam alur build atau rilis dan jalankan skrip PowerShell berikut. Tugas ini membantu mendapatkan dependensi Azure SDK
PackageDeploymentTool.exe
untuk danPackageDeploymentTool.exe
. Anda dapat mengatur parameter -AzureSDK dan -DBDeploymentTool untuk memuat dependensi dan alat penyebaran ke folder tertentu. Teruskan jalur -AzureSDKPackageDeploymentTool.exe
sebagai parameter -AzureSDKPath di langkah 2.<# This script is used for getting dependencies and SDKs for U-SQL database deployment. PowerShell command line support for deploying U-SQL database package(.usqldbpack file) will come soon. Example : GetUSQLDBDeploymentSDK.ps1 -AzureSDK "AzureSDKFolderPath" -DBDeploymentTool "DBDeploymentToolFolderPath" #> param ( [string]$AzureSDK = "AzureSDK", # Folder to cache Azure SDK dependencies [string]$DBDeploymentTool = "DBDeploymentTool", # Folder to cache U-SQL database deployment tool [string]$workingfolder = "" # Folder to execute these command lines ) if ([string]::IsNullOrEmpty($workingfolder)) { $scriptpath = $MyInvocation.MyCommand.Path $workingfolder = Split-Path $scriptpath } cd $workingfolder echo "workingfolder=$workingfolder, outputfolder=$outputfolder" echo "Downloading required packages..." iwr https://www.nuget.org/api/v2/package/Microsoft.Azure.Management.DataLake.Analytics/3.5.1-preview -outf Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Azure.Management.DataLake.Store/2.4.1-preview -outf Microsoft.Azure.Management.DataLake.Store.2.4.1-preview.zip iwr https://www.nuget.org/api/v2/package/Microsoft.IdentityModel.Clients.ActiveDirectory/2.28.3 -outf Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Rest.ClientRuntime/2.3.11 -outf Microsoft.Rest.ClientRuntime.2.3.11.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Rest.ClientRuntime.Azure/3.3.7 -outf Microsoft.Rest.ClientRuntime.Azure.3.3.7.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Rest.ClientRuntime.Azure.Authentication/2.3.3 -outf Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3.zip iwr https://www.nuget.org/api/v2/package/Newtonsoft.Json/6.0.8 -outf Newtonsoft.Json.6.0.8.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Azure.DataLake.USQL.SDK/ -outf USQLSDK.zip echo "Extracting packages..." Expand-Archive Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview.zip -DestinationPath Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview -Force Expand-Archive Microsoft.Azure.Management.DataLake.Store.2.4.1-preview.zip -DestinationPath Microsoft.Azure.Management.DataLake.Store.2.4.1-preview -Force Expand-Archive Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3.zip -DestinationPath Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3 -Force Expand-Archive Microsoft.Rest.ClientRuntime.2.3.11.zip -DestinationPath Microsoft.Rest.ClientRuntime.2.3.11 -Force Expand-Archive Microsoft.Rest.ClientRuntime.Azure.3.3.7.zip -DestinationPath Microsoft.Rest.ClientRuntime.Azure.3.3.7 -Force Expand-Archive Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3.zip -DestinationPath Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3 -Force Expand-Archive Newtonsoft.Json.6.0.8.zip -DestinationPath Newtonsoft.Json.6.0.8 -Force Expand-Archive USQLSDK.zip -DestinationPath USQLSDK -Force echo "Copy required DLLs to output folder..." mkdir $AzureSDK -Force mkdir $DBDeploymentTool -Force copy Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview\lib\net452\*.dll $AzureSDK copy Microsoft.Azure.Management.DataLake.Store.2.4.1-preview\lib\net452\*.dll $AzureSDK copy Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\*.dll $AzureSDK copy Microsoft.Rest.ClientRuntime.2.3.11\lib\net452\*.dll $AzureSDK copy Microsoft.Rest.ClientRuntime.Azure.3.3.7\lib\net452\*.dll $AzureSDK copy Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3\lib\net452\*.dll $AzureSDK copy Newtonsoft.Json.6.0.8\lib\net45\*.dll $AzureSDK copy USQLSDK\build\runtime\*.* $DBDeploymentTool
Tambahkan tugas Command-Line (Baris Perintah) dalam alur build atau rilis dan isi skrip dengan menggunakan
PackageDeploymentTool.exe
.PackageDeploymentTool.exe
terletak di bawah folder $DBDeploymentTool yang ditentukan. Sampel skrip adalah sebagai berikut:Menyebarkan database U-SQL secara lokal:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>
Gunakan mode autentikasi interaktif untuk menyebarkan database U-SQL ke akun Azure Data Lake Analytics:
PackageDeploymentTool.exe deploycluster -Package <package path> -Database <database name> -Account <account name> -ResourceGroup <resource group name> -SubscriptionId <subscript id> -Tenant <tenant name> -AzureSDKPath <azure sdk path> -Interactive
Gunakan autentikasi rahasia untuk menyebarkan database U-SQL ke akun Azure Data Lake Analytics:
PackageDeploymentTool.exe deploycluster -Package <package path> -Database <database name> -Account <account name> -ResourceGroup <resource group name> -SubscriptionId <subscript id> -Tenant <tenant name> -ClientId <client id> -Secrete <secrete>
Gunakan autentikasi certFile untuk menyebarkan database U-SQL ke akun Azure Data Lake Analytics:
PackageDeploymentTool.exe deploycluster -Package <package path> -Database <database name> -Account <account name> -ResourceGroup <resource group name> -SubscriptionId <subscript id> -Tenant <tenant name> -ClientId <client id> -Secrete <secrete> -CertFile <certFile>
Deskripsi parameter PackageDeploymentTool.exe
Parameter umum
Parameter | Deskripsi | Nilai Default | Diperlukan |
---|---|---|---|
Paket | Jalur paket penyebaran database U-SQL yang akan disebarkan. | null | true |
Database | Nama database yang akan disebarkan atau dibuat. | master | salah |
LogFile | Jalur file untuk pengelogan. Default ke standar keluar (konsol). | null | false |
LogLevel | Level log: Verbose, Normal, Warning, atau Error. | LogLevel.Normal | salah |
Parameter untuk penyebaran lokal
Parameter | Deskripsi | Nilai Default | Diperlukan |
---|---|---|---|
DataRoot | Jalur folder akar data lokal. | null | true |
Parameter untuk penyebaran Azure Data Lake Analytics
Parameter | Deskripsi | Nilai Default | Diperlukan |
---|---|---|---|
Akun | Menentukan akun Azure Data Lake Analytics mana yang akan disebarkan berdasarkan nama akun. | null | true |
ResourceGroup | Nama grup sumber daya Azure untuk akun Azure Data Lake Analytics. | null | true |
SubscriptionId | ID langganan Azure untuk akun Azure Data Lake Analytics. | null | true |
Penyewa | Nama penyewa adalah nama domain Microsoft Entra. Temukan di halaman manajemen langganan di portal Microsoft Azure. | null | true |
AzureSDKPath | Jalur untuk mencari assemblies (rakitan) dependen di Azure SDK. | null | true |
Interaktif | Apakah akan menggunakan mode interaktif untuk autentikasi atau tidak. | false | false |
ClientId | ID aplikasi Microsoft Entra diperlukan untuk autentikasi non-interaktif. | null | Diperlukan untuk autentikasi non-interaktif. |
Rahasia | Rahasia atau kata sandi untuk autentikasi non-interaktif. Digunakan hanya di lingkungan yang tepercaya dan aman. | null | Diperlukan untuk autentikasi non-interaktif, atau menggunakan SecreteFile. |
SecretFile | File menyimpan rahasia atau kata sandi untuk autentikasi non-interaktif. Pastikan agar tetap bisa dibaca hanya oleh pengguna saat ini. | null | Diperlukan untuk autentikasi non-interaktif, atau menggunakan Rahasia. |
CertFile | File menyimpan sertifikasi X.509 untuk autentikasi non-interaktif. Defaultnya adalah menggunakan autentikasi rahasia klien. | null | false |
JobPrefix | Awalan untuk penyebaran database tugas U-SQL DDL. | Deploy_ + DateTime.Now | false |