Azure Data Lake Analytics için CI/CD işlem hattı ayarlama
Bu makalede, U-SQL işleri ve U-SQL veritabanları için sürekli tümleştirme ve dağıtım (CI/CD) işlem hattı ayarlamayı öğrenirsiniz.
Not
Bu makalede, Azure ile etkileşim kurmak için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
U-SQL işleri için CI/CD kullanma
Visual Studio için Azure Data Lake Araçları, U-SQL betiklerini düzenlemenize yardımcı olan U-SQL proje türünü sağlar. U-SQL kodunuzu yönetmek için U-SQL projesini kullanmak daha fazla CI/CD senaryosunu kolaylaştırır.
U-SQL projesi oluşturma
U-SQL projesi, karşılık gelen parametreler Microsoft Build Engine (MSBuild) ile bir U-SQL projesi de geliştirin. U-SQL projesi için derleme işlemi ayarlamak üzere bu makaledeki adımları izleyin.
Proje geçişi
U-SQL projesi için derleme görevi ayarlamadan önce U-SQL projesinin en son sürümüne sahip olduğundan emin olun. U-SQL proje dosyasını düzenleyicide açın ve şu içeri aktarma öğelerine sahip olduğunu doğrulayın:
<!-- 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')" />
Yoksa, projeyi geçirmek için iki seçeneğiniz vardır:
-
- Seçenek: Eski içeri aktarma öğesini önceki öğeyle değiştirir.
-
- Seçenek: Eski projeyi Visual Studio için Azure Data Lake Araçları. 2.3.3000.0'dan daha yeni bir sürüm kullanın. Eski proje şablonu otomatik olarak en yeni sürüme yükseltilir. 2.3.3000.0'dan yeni sürümlerle oluşturulan yeni projeler yeni şablonu kullanır.
NuGet'i al
MSBuild, U-SQL projeleri için yerleşik destek sağlamaz. Bu desteği almak için, çözümünüz için gerekli dil hizmetini ekleyen Microsoft.Azure.DataLake.USQL.SDK NuGet paketine bir başvuru eklemeniz gerekir.
NuGet paket başvurusu eklemek için, uygulamanın içinde çözüme sağ tıklayın Visual Studio Çözüm Gezgini NuGet Paketlerini Yönet'i seçin. Veya çözüm klasörüne adlı packages.config bir dosya ekleyebilir ve içine aşağıdaki içerikleri koyabilirsiniz:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
U-SQL veritabanı başvurularını yönetme
U-SQL projesinde U-SQL betikleri, U-SQL veritabanı nesneleri için sorgu deyimlerine sahip olabilir. Bu durumda, U-SQL projesini derlemeden önce nesnelerin tanımını içeren ilgili U-SQL veritabanı projesine başvurabilirsiniz. Bir U-SQL tablosu sorgular veya bir derlemeye başvururken örnek olarak gösterebilirsiniz.
U-SQL veritabanı projesi hakkında daha fazla bilgi.
Not
DROP deyimi yanlışlıkla silinmesine neden olabilir. DROP deyimini etkinleştirmek için MSBuild bağımsız değişkenlerini açıkça belirtmeniz gerekir. AllowDropStatement, derlemeyi bırakma ve tablo değerli işlevini bırakma gibi verilerle ilgili olmayan DROP işlemi etkinleştirir. AllowDataDropStatement, tabloyu bırakma ve şemayı bırakma gibi verilerle ilgili DROP işlemi etkinleştirir. AllowDataDropStatement'ı kullanmadan önce AllowDropStatement'ı etkinleştirmeniz gerek.
MSBuild komut satırıyla U-SQL projesi oluşturma
İlk olarak projeyi geçir ve NuGet paketini al. Ardından U-SQL projenizi derlemek için aşağıdaki ek bağımsız değişkenlerle standart MSBuild komut satırına çağrı yapın:
msbuild USQLBuild.usqlproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime;USQLTargetType=SyntaxCheck;DataRoot=datarootfolder;/p:EnableDeployment=true
Bağımsız değişkenlerin tanımı ve değerleri aşağıdaki gibidir:
USQLSDKPath= <U-SQL Nuget package> \build\runtime. Bu parametre, U-SQL dil hizmeti için NuGet paketinin yükleme yolunu ifade eder.
USQLTargetType=Merge veya SyntaxCheck:
birleştirin. Birleştirme modu, arka arkasındaki kod dosyalarını derler. .cs , .py ve .r dosyaları örnek olarak verilmiştir. Sonuçta elde edilen kullanıcı tanımlı kod kitaplığını U-SQL betiğine dahil ediyor. Örnek olarak dll ikili dosyası, Python veya R kodu verilmiştir.
SyntaxCheck. SyntaxCheck modu ilk olarak arka arkasındaki kod dosyalarını U-SQL betiğiyle birler. Ardından kodunuzu doğrulamak için U-SQL betiği derler.
DataRoot= <DataRoot path>. DataRoot yalnızca SyntaxCheck modu için gereklidir. Betiği SyntaxCheck moduyla derlemesi, MSBuild betikte veritabanı nesnelerine yapılan başvuruları denetler. Derlemeden önce, derleme makinesinin DataRoot klasöründeki U-SQL veritabanından başvurulan nesneleri içeren eşleşen bir yerel ortam ayarlayın. Ayrıca U-SQL veritabanı projesine başvurarak da bu veritabanı bağımlılıklarını yönetebilirsiniz. MSBuild dosyaları değil yalnızca veritabanı nesnesi başvurularını denetler.
EnableDeployment=true veya false. EnableDeployment, derleme işlemi sırasında başvurulan U-SQL veritabanlarını dağıtmaya izin verili olup olamı olduğunu gösterir. Bir U-SQL veritabanı projesine başvurur ve U-SQL betiğinizin veritabanı nesnelerini kullanırsanız, bu parametreyi true olarak ayarlayın.
Azure Pipelines aracılığıyla sürekli tümleştirme
Komut satırına ek olarak, Visual Studio Derleme veya MSBuild görevini kullanarak Azure Pipelines'de U-SQL projeleri Azure Pipelines. Derleme işlem hattı ayarlamak için derleme işlem hattına iki görev ekleyin: NuGet geri yükleme görevi ve MSBuild görevi.

MSBuild'in U-SQL dil hedeflerini bulması için içeren çözüm başvurulan NuGet paketini almak için
Azure.DataLake.USQL.SDKbir NuGet geri yükleme görevi ekleyin. MSBuild > bağımsız değişkenleri$(Build.SourcesDirectory)/packagesörneğini doğrudan 2. adımda kullanmak için Gelişmiş Hedef dizini olarak ayarlayın.
MsBuild bağımsız değişkenlerini aşağıdaki Visual Studio gösterildiği gibi bir MSBuild görevine veya derleme araçlarına ayarlayın. Veya derleme işlem hattında bu bağımsız değişkenler için Azure Pipelines tanımlayabilirsiniz.

/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
U-SQL proje derleme çıkışı
Derlemeyi çalıştırdıktan sonra U-SQL projesinde tüm betikler, adlı bir zip dosyasına ek olarak USQLProjectName.usqlpack çıkar. Projenizin klasör yapısı sıkıştırılmış derleme çıkışında tutulur.
Not
Her U-SQL betiği için arka arkasındaki kod dosyaları, betik derleme çıkışına satır içi bir deyim olarak birleştirilir.
U-SQL betiklerini test etme
Azure Data Lake, U-SQL betikleri ve C# UDO/UDAG/UDF için test projeleri sağlar:
U-SQL betikleri ve genişletilmiş C# kodu için test çalıştırmaları ekleme hakkında bilgi alın
U-SQL işi dağıtma
Derleme ve test işlemi aracılığıyla kodu doğruladikten sonra, U-SQL işlerini doğrudan bir Azure Pipelines görev aracılığıyla Azure PowerShell gönderebilirsiniz. Betiği Azure Blob depolama alanına veya Azure Blob Data Lake Store dağıtarak zamanlanmış işleri Azure Data Factory.
U-SQL işlerini Azure Pipelines
U-SQL projesinin derleme çıkışı USQLProjectName.usqlpack adlı bir zip dosyasıdır. Zip dosyası, projesinde yer alan tüm U-SQL betiklerini içerir. U-SQL işlerini doğrudan Azure PowerShell göndermek için aşağıdaki örnek PowerShell betiğiyle İşlem Hatları'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
Not
ve komutları: Submit-AzDataLakeAnalyticsJob ve Wait-AzDataLakeAnalyticsJob Azure PowerShell çerçevede Azure Data Lake Analytics cmdlet'leri Azure Resource Manager. İş istasyonunun yüklü olduğu bir iş Azure PowerShell gerekir. Daha fazla komut ve örnek için komut listesine başvurabilirsiniz.
U-SQL işlerini Azure Data Factory
U-SQL işlerini doğrudan Azure Pipelines. Veya yerleşik betikleri Azure Data Lake Store veya Azure Blob depolamaya yükleyebilir ve zamanlanmış işleri Azure Data Factory.
U-SQL Azure PowerShell bir Azure Azure Pipelines hesabına yüklemek için aşağıdaki örnek PowerShell betiğiyle birlikte Data Lake Store kullanın:
<#
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
U-SQL veritabanı için CI/CD
Visual Studio için Azure Data Lake Araçları, U-SQL veritabanları geliştirme, yönetme ve dağıtmanıza yardımcı olan U-SQL veritabanı proje şablonları sağlar. U-SQLveritabanı projesi hakkında daha fazla bilgi.
U-SQL veritabanı projesi oluşturma
NuGet paketini al
MSBuild, U-SQL veritabanı projeleri için yerleşik destek sağlamaz. Bu özelliği elde etmek için, gerekli dil hizmetini ekleyen Microsoft.Azure.DataLake.USQL.SDK NuGet paketine çözümünüz için bir başvuru eklemeniz gerekir.
NuGet paket başvurusu eklemek için, uygulamanın içinde çözüme Visual Studio Çözüm Gezgini. NuGet Paketlerini Yönet'i seçin. Ardından NuGet paketini arayın ve yükleyin. Ya da çözüm klasörüne packages.config adlı bir dosya ekleyebilir ve aşağıdaki içeriği bu klasöre koyabilirsiniz:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
MSBuild komut satırı ile U-SQL a veritabanı projesi derleme
U-SQL veritabanı projenizi derlemek için standart MSBuild komut satırını çağırın ve U-SQL SDK NuGet paketi başvurusunu ek bir bağımsız değişken olarak geçirin. Aşağıdaki örneğe bakın:
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
Bağımsız değişkeni, USQLSDKPath=<U-SQL Nuget package>\build\runtime U-SQL dil hizmeti Için NuGet paketinin install yolunu ifade eder.
Azure Pipelines ile sürekli tümleştirme
Komut satırına ek olarak, Azure Pipelines ' de U-SQL veritabanı projelerini derlemek için Visual Studio Build veya MSBuild görevi kullanabilirsiniz. Bir yapı görevi ayarlamak için derleme ardışık düzenine iki görev eklediğinizden emin olun: bir NuGet geri yükleme görevi ve MSBuild görevi.

Azure.DataLake.USQL.SDKMSBuild 'In U-SQL dil hedeflerini bulabileceği şekilde, Çözümle başvurulan NuGet paketini içeren bir NuGet geri yükleme görevi ekleyin. >$(Build.SourcesDirectory)/packagesDoğrudan adım 2 ' de MSBuild bağımsız değişkenleri örneğini kullanmak istiyorsanız, gelişmiş hedef dizinini olarak ayarlayın.
MSBuild bağımsız değişkenlerini Visual Studio derleme araçları 'nda veya bir MSBuild görevinde aşağıdaki örnekte gösterildiği gibi ayarlayın. Ya da Azure Pipelines yapı ardışık düzeninde bu bağımsız değişkenler için değişkenler tanımlayabilirsiniz.

/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
U-SQL veritabanı proje derlemesi çıkışı
U-SQL veritabanı projesi için derleme çıktısı, son ek ile adlandırılmış bir U-SQL veritabanı dağıtım paketidir .usqldbpack . .usqldbpackPaket, BIR DDL klasöründeki tek bir U-SQL betiğinin tüm DDL deyimlerini içeren bir zip dosyasıdır. Geçici bir klasördeki derleme için tüm . dll 'leri ve ek dosyaları içerir.
Tablo değerli işlevleri ve saklı yordamları test edin
Tablo değerli işlevler ve saklı yordamlar için test çalışmalarını doğrudan eklemek Şu anda desteklenmemektedir. Geçici bir çözüm olarak, bu işlevleri çağıran ve bunlara yönelik test çalışmalarını yazan U-SQL betikleri olan bir U-SQL projesi oluşturabilirsiniz. Tablo değerli işlevler ve U-SQL veritabanı projesinde tanımlanan saklı yordamlar için test çalışmalarını ayarlamak üzere aşağıdaki adımları uygulayın:
Test amaçları için bir U-SQL projesi oluşturun ve tablo değerli işlevleri ve saklı yordamları çağıran U-SQL betikleri yazın.
U-SQL projesine bir veritabanı başvurusu ekleyin. Tablo değerli işlev ve saklı yordam tanımını almak için DDL ifadesini içeren veritabanı projesine başvurmanız gerekir. Veritabanı başvurularıhakkında daha fazla bilgi edinin.
Tablo değerli işlevleri ve saklı yordamları çağıran U-SQL betikleri için test çalışmaları ekleyin. U-SQL betikleri için test çalışmalarının nasıl ekleneceğiniöğrenin.
U-SQL veritabanını Azure Pipelines aracılığıyla dağıtma
PackageDeploymentTool.exe U-SQL veritabanı dağıtım paketleri dağıtmaya yardımcı olan programlama ve komut satırı arabirimlerini sağlar . ustabdbpack. SDK, derleme/çalışma zamanı/PackageDeploymentTool.exe konumunda bulunan U-SQL SDK NuGet paketinedahildir. Kullanarak PackageDeploymentTool.exe u-SQL veritabanlarını hem Azure Data Lake Analytics hem de yerel hesaplara dağıtabilirsiniz.
Not
U-SQL veritabanı dağıtımı için PowerShell komut satırı desteği ve Azure Pipelines sürüm görevi desteği şu anda beklemede.
Azure Pipelines bir veritabanı dağıtım görevi ayarlamak için aşağıdaki adımları uygulayın:
Bir derleme veya sürüm ardışık düzenine bir PowerShell betik görevi ekleyin ve aşağıdaki PowerShell betiğini yürütün. Bu görev, ve için Azure SDK bağımlılıklarını almaya yardımcı olur
PackageDeploymentTool.exePackageDeploymentTool.exe. -Azuresdk ve -dbdeploymenttool parametrelerini, bağımlılıklar ve dağıtım aracını belirli klasörlere yüklemek için ayarlayabilirsiniz. -Azuresdk yolunuPackageDeploymentTool.exeAdım 2 ' de -azuresdkpath parametresi olarak geçirin.<# 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\*.* $DBDeploymentToolBir derleme veya sürüm ardışık düzenine bir komut satırı görevi ekleyin ve çağırarak betiği girin
PackageDeploymentTool.exe.PackageDeploymentTool.exe, tanımlı $DBDeploymentTool klasörünün altında bulunur. Örnek betik şu şekildedir:U-SQL veritabanını yerel olarak dağıtma:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>Bir U-SQL veritabanını bir Azure Data Lake Analytics hesabına dağıtmak için etkileşimli kimlik doğrulama modunu kullanın:
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> -InteractiveBir U-SQL veritabanını Azure Data Lake Analytics hesabına dağıtmak için secrete kimlik doğrulamasını kullanın:
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>Bir U-SQL veritabanını bir Azure Data Lake Analytics hesabına dağıtmak için SertifikaDosyası kimlik doğrulamasını kullanın:
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>
PackageDeploymentTool.exe parametre açıklamaları
Ortak Parametreler
| Parametre | Açıklama | Varsayılan değer | Gerekli |
|---|---|---|---|
| Paket | Dağıtılacak U-SQL veritabanı dağıtım paketinin yolu. | null | true |
| Veritabanı | Dağıtılacak veya oluşturulacak veritabanı adı. | ana | yanlış |
| Günlük | Günlüğe kaydetme için dosyanın yolu. Varsayılan olarak standart çıkış (konsol). | null | yanlış |
| LogLevel | Günlük düzeyi: Verbose, normal, uyarı veya hata. | LogLevel. normal | yanlış |
Yerel dağıtım parametresi
| Parametre | Açıklama | Varsayılan değer | Gerekli |
|---|---|---|---|
| DataRoot | Yerel veri kök klasörünün yolu. | null | true |
Azure Data Lake Analytics dağıtımı için parametreler
| Parametre | Açıklama | Varsayılan değer | Gerekli |
|---|---|---|---|
| Hesap | Hesap adına göre dağıtılacak Azure Data Lake Analytics hesabını belirtir. | null | true |
| adlı yönetilen örnek, | Azure Data Lake Analytics hesabının Azure Kaynak grubu adı. | null | true |
| SubscriptionId | Azure Data Lake Analytics hesabının Azure abonelik KIMLIĞI. | null | true |
| Kiracı | Kiracı adı Azure Active Directory (Azure AD) etki alanı adıdır. Azure portal abonelik yönetimi sayfasında bulun. | null | true |
| AzureSDKPath | Azure SDK 'da bağımlı derlemelerin aranacağı yol. | null | true |
| Etkileşimli | Kimlik doğrulaması için etkileşimli mod kullanılıp kullanılmayacağını belirtir. | yanlış | yanlış |
| ClientId | Etkileşimli olmayan kimlik doğrulaması için Azure AD uygulama KIMLIĞI gereklidir. | null | Etkileşimli olmayan kimlik doğrulaması için gereklidir. |
| Secrete | Etkileşimli olmayan kimlik doğrulaması için secrete veya parola. Yalnızca güvenilen ve güvenli bir ortamda kullanılmalıdır. | null | Etkileşimli olmayan kimlik doğrulaması için gereklidir ya da SecreteFile komutunu kullanın. |
| SecreteFile | Dosya, etkileşimli olmayan kimlik doğrulaması için secrete veya parolayı kaydeder. Yalnızca geçerli kullanıcı tarafından okunabilir durumda kalmasını sağlayın. | null | Etkileşimli olmayan kimlik doğrulaması için gereklidir veya daha önce secrete kullanın. |
| SertifikaDosyası | Dosya, etkileşimli olmayan kimlik doğrulaması için X. 509.440 sertifikasını kaydeder. Varsayılan değer istemci secrete kimlik doğrulamasını kullanmaktır. | null | yanlış |
| JobPrefix | Bir U-SQL DDL işinin veritabanı dağıtımı ön eki. | Deploy_ + DateTime. Now | yanlış |