Så här konfigurerar du en CI/CD-pipeline för Azure Data Lake Analytics
I den här artikeln får du lära dig hur du konfigurerar en pipeline för kontinuerlig integrering och distribution (CI/CD) för U-SQL-jobb och U-SQL-databaser.
Viktigt
Azure Data Lake Analytics tillbaka den 29 februari 2024. Läs mer med det här meddelandet.
För dataanalys kan din organisation använda Azure Synapse Analytics eller Microsoft Fabric.
Anteckning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Använda CI/CD för U-SQL-jobb
Azure Data Lake Tools för Visual Studio tillhandahåller U-SQL-projekttypen som hjälper dig att organisera U-SQL-skript. Om du använder U-SQL-projektet för att hantera din U-SQL-kod blir det enkelt att utföra ytterligare CI/CD-scenarier.
Skapa ett U-SQL-projekt
Du kan skapa ett U-SQL-projekt med Microsoft Build Engine (MSBuild) genom att skicka motsvarande parametrar. Följ stegen i den här artikeln för att konfigurera en byggprocess för ett U-SQL-projekt.
Projektmigrering
Innan du konfigurerar en bygguppgift för ett U-SQL-projekt kontrollerar du att du har den senaste versionen av U-SQL-projektet. Öppna U-SQL-projektfilen i redigeringsprogrammet och kontrollera att du har följande importobjekt:
<!-- 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')" />
Annars har du två alternativ för att migrera projektet:
- Alternativ 1: Ändra det gamla importobjektet till föregående.
- Alternativ 2: Öppna det gamla projektet i Azure Data Lake Tools för Visual Studio. Använd en version som är nyare än 2.3.3000.0. Den gamla projektmallen uppgraderas automatiskt till den senaste versionen. Nya projekt som skapats med versioner som är nyare än 2.3.3000.0 använder den nya mallen.
Hämta NuGet
MSBuild tillhandahåller inte inbyggt stöd för U-SQL-projekt. För att få det här stödet måste du lägga till en referens för din lösning i NuGet-paketet Microsoft.Azure.DataLake.USQL.SDK som lägger till den språktjänst som krävs.
Om du vill lägga till NuGet-paketreferensen högerklickar du på lösningen i Visual Studio Solution Explorer och väljer Hantera NuGet-paket. Eller så kan du lägga till en fil med namnet packages.config
i lösningsmappen och placera följande innehåll i den:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
Hantera U-SQL-databasreferenser
U-SQL-skript i ett U-SQL-projekt kan ha frågeuttryck för U-SQL-databasobjekt. I så fall måste du referera till motsvarande U-SQL-databasprojekt som innehåller objektdefinitionen innan du skapar U-SQL-projektet. Ett exempel är när du frågar en U-SQL-tabell eller refererar till en sammansättning.
Läs mer om U-SQL-databasprojekt.
Anteckning
DROP-instruktionen kan orsaka en oavsiktlig borttagning. Om du vill aktivera DROP-instruktionen måste du uttryckligen ange MSBuild-argumenten. AllowDropStatement aktiverar icke-datarelaterad DROP-åtgärd, till exempel funktionen drop assembly och drop table valued. AllowDataDropStatement aktiverar datarelaterad DROP-åtgärd, till exempel drop table och drop-schema. Du måste aktivera AllowDropStatement innan du använder AllowDataDropStatement.
Skapa ett U-SQL-projekt med kommandoraden MSBuild
Migrera först projektet och hämta NuGet-paketet. Anropa sedan standardkommandoraden MSBuild med följande argument för att skapa U-SQL-projektet:
msbuild USQLBuild.usqlproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime;USQLTargetType=SyntaxCheck;DataRoot=datarootfolder;/p:EnableDeployment=true
Argumentdefinitionen och värdena är följande:
USQLSDKPath=<U-SQL Nuget package>\build\runtime. Den här parametern refererar till installationssökvägen för NuGet-paketet för U-SQL-språktjänsten.
USQLTargetType=Merge eller SyntaxCheck:
Sammanfoga. Sammanslagningsläget kompilerar bakomliggande filer. Exempel är .cs-, .py- och .r-filer . Den anger det resulterande användardefinierade kodbiblioteket i U-SQL-skriptet. Exempel är en dll-binär, Python- eller R-kod.
SyntaxCheck. SyntaxCheck-läget sammanfogar först bakomliggande filer i U-SQL-skriptet. Sedan kompileras U-SQL-skriptet för att verifiera koden.
DataRoot=<DataRoot-sökväg>. DataRoot behövs bara för SyntaxCheck-läge. När skriptet skapas med SyntaxCheck-läge kontrollerar MSBuild referenserna till databasobjekt i skriptet. Innan du skapar konfigurerar du en matchande lokal miljö som innehåller de refererade objekten från U-SQL-databasen i build-datorns DataRoot-mapp. Du kan också hantera dessa databasberoenden genom att referera till ett U-SQL-databasprojekt. MSBuild kontrollerar endast databasobjektreferenser, inte filer.
EnableDeployment=true eller false. EnableDeployment anger om det är tillåtet att distribuera refererade U-SQL-databaser under byggprocessen. Om du refererar till ett U-SQL-databasprojekt och använder databasobjekten i ditt U-SQL-skript anger du den här parametern till true.
Kontinuerlig integrering via Azure Pipelines
Förutom kommandoraden kan du även använda Visual Studio Build eller en MSBuild-uppgift för att skapa U-SQL-projekt i Azure Pipelines. Om du vill konfigurera en bygg-pipeline måste du lägga till två uppgifter i bygg-pipelinen: en NuGet-återställningsaktivitet och en MSBuild-uppgift.
Lägg till en NuGet-återställningsuppgift för att hämta det lösningsreferensade NuGet-paketet som innehåller
Azure.DataLake.USQL.SDK
, så att MSBuild kan hitta U-SQL-språkmålen. Ange Avancerad>målkatalog till$(Build.SourcesDirectory)/packages
om du vill använda MSBuild-argumentexemplet direkt i steg 2.Ange MSBuild-argument i Visual Studio-byggverktyg eller i en MSBuild-uppgift som du ser i följande exempel. Eller så kan du definiera variabler för dessa argument i bygg-pipelinen för 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
U-SQL-projektgenereringsutdata
När du har kört en version skapas alla skript i U-SQL-projektet och matas ut till en zip-fil med namnet USQLProjectName.usqlpack
. Mappstrukturen i projektet behålls i zippade kompileringsutdata.
Anteckning
Bakomliggande filer för varje U-SQL-skript sammanfogas som en infogad instruktion till skriptbyggets utdata.
Testa U-SQL-skript
Azure Data Lake tillhandahåller testprojekt för U-SQL-skript och C# UDO/UDAG/UDF:
Lär dig hur du lägger till testfall för U-SQL-skript och utökad C#-kod
Lär dig hur du kör testfall i Azure Pipelines.
Distribuera ett U-SQL-jobb
När du har verifierat koden genom bygg- och testprocessen kan du skicka U-SQL-jobb direkt från Azure Pipelines via en Azure PowerShell uppgift. Du kan också distribuera skriptet till Azure Data Lake Store eller Azure Blob Storage och köra schemalagda jobb via Azure Data Factory.
Skicka U-SQL-jobb via Azure Pipelines
Byggutdata för U-SQL-projektet är en zip-fil med namnet USQLProjectName.usqlpack. Zip-filen innehåller alla U-SQL-skript i projektet. Du kan använda uppgiften Azure PowerShell i Pipelines med följande PowerShell-exempelskript för att skicka U-SQL-jobb direkt från 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
Anteckning
Kommandona: Submit-AzDataLakeAnalyticsJob
och Wait-AzDataLakeAnalyticsJob
är båda Azure PowerShell cmdletar för Azure Data Lake Analytics i Azure Resource Manager-ramverket. Du kommer att få en arbetsstation med Azure PowerShell installerad. Du kan referera till kommandolistan för fler kommandon och exempel.
Distribuera U-SQL-jobb via Azure Data Factory
Du kan skicka U-SQL-jobb direkt från Azure Pipelines. Eller så kan du ladda upp de skapade skripten till Azure Data Lake Store eller Azure Blob Storage och köra schemalagda jobb via Azure Data Factory.
Använd Azure PowerShell uppgift i Azure Pipelines med följande PowerShell-exempelskript för att ladda upp U-SQL-skripten till ett Azure Data Lake Store-konto:
<#
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 för en U-SQL-databas
Azure Data Lake Tools för Visual Studio innehåller U-SQL-databasprojektmallar som hjälper dig att utveckla, hantera och distribuera U-SQL-databaser. Läs mer om ett U-SQL-databasprojekt.
Skapa U-SQL-databasprojekt
Hämta NuGet-paketet
MSBuild tillhandahåller inte inbyggt stöd för U-SQL-databasprojekt. För att få den här möjligheten måste du lägga till en referens för din lösning i NuGet-paketet Microsoft.Azure.DataLake.USQL.SDK som lägger till den språktjänst som krävs.
Om du vill lägga till NuGet-paketreferensen högerklickar du på lösningen i Visual Studio Solution Explorer. Välj Hantera NuGet-paket. Sök sedan efter och installera NuGet-paketet. Eller så kan du lägga till en fil med namnet packages.config i lösningsmappen och placera följande innehåll i den:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
Skapa ett U-SQL-databasprojekt med kommandoraden MSBuild
Om du vill skapa ditt U-SQL-databasprojekt anropar du standardkommandoraden MSBuild och skickar nuGet-paketreferensen för U-SQL SDK som ett annat argument. Se följande exempel:
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
Argumentet USQLSDKPath=<U-SQL Nuget package>\build\runtime
refererar till installationssökvägen för NuGet-paketet för U-SQL-språktjänsten.
Kontinuerlig integrering med Azure Pipelines
Förutom kommandoraden kan du använda Visual Studio Build eller en MSBuild-uppgift för att skapa U-SQL-databasprojekt i Azure Pipelines. Om du vill konfigurera en bygguppgift måste du lägga till två uppgifter i bygg-pipelinen: en NuGet-återställningsaktivitet och en MSBuild-uppgift.
Lägg till en NuGet-återställningsuppgift för att hämta det lösningsreferensade NuGet-paketet, som innehåller
Azure.DataLake.USQL.SDK
, så att MSBuild kan hitta U-SQL-språkmålen. Ange Avancerad>målkatalog till$(Build.SourcesDirectory)/packages
om du vill använda MSBuild-argumentexemplet direkt i steg 2.Ange MSBuild-argument i Visual Studio-byggverktyg eller i en MSBuild-uppgift som du ser i följande exempel. Eller så kan du definiera variabler för dessa argument i bygg-pipelinen för Azure Pipelines.
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
U-SQL-databasprojekt, kompileringsutdata
Byggutdata för ett U-SQL-databasprojekt är ett U-SQL-databasdistributionspaket med namnet med suffixet .usqldbpack
. Paketet .usqldbpack
är en zip-fil som innehåller alla DDL-instruktioner i ett enda U-SQL-skript i en DDL-mapp. Den innehåller alla .dll-filer och andra filer för sammansättning i en temporär mapp.
Testa tabellvärdesfunktioner och lagrade procedurer
Det finns för närvarande inte stöd för att lägga till testfall för tabellvärdesfunktioner och lagrade procedurer direkt. Som en lösning kan du skapa ett U-SQL-projekt som har U-SQL-skript som anropar dessa funktioner och skriver testfall åt dem. Utför följande steg för att konfigurera testfall för tabellvärdesfunktioner och lagrade procedurer som definierats i U-SQL-databasprojektet:
Skapa ett U-SQL-projekt i testsyfte och skriv U-SQL-skript som anropar tabellvärdesfunktionerna och lagrade procedurer.
Lägg till en databasreferens i U-SQL-projektet. För att hämta tabellvärdesfunktionen och definitionen av lagrad procedur måste du referera till databasprojektet som innehåller DDL-instruktionen. Läs mer om databasreferenser.
Lägg till testfall för U-SQL-skript som anropar tabellvärdesfunktioner och lagrade procedurer. Lär dig hur du lägger till testfall för U-SQL-skript.
Distribuera U-SQL-databas via Azure Pipelines
PackageDeploymentTool.exe
innehåller de programmerings- och kommandoradsgränssnitt som hjälper dig att distribuera U-SQL-databasdistributionspaket, .usqldbpack. SDK ingår i U-SQL SDK NuGet-paketet som finns på build/runtime/PackageDeploymentTool.exe. Med hjälp av PackageDeploymentTool.exe
kan du distribuera U-SQL-databaser till både Azure Data Lake Analytics och lokala konton.
Anteckning
PowerShell-kommandoradsstöd och Azure Pipelines-versionsaktivitetsstöd för U-SQL-databasdistribution väntar för närvarande.
Utför följande steg för att konfigurera en databasdistributionsuppgift i Azure Pipelines:
Lägg till en PowerShell-skriptuppgift i en bygg- eller versionspipeline och kör följande PowerShell-skript. Den här uppgiften hjälper till att hämta Azure SDK-beroenden för
PackageDeploymentTool.exe
ochPackageDeploymentTool.exe
. Du kan ange parametrarna -AzureSDK och -DBDeploymentTool för att läsa in beroenden och distributionsverktyget till specifika mappar. Skicka sökvägen -AzureSDK tillPackageDeploymentTool.exe
som parametern -AzureSDKPath i steg 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
Lägg till en kommandoradsuppgift i en bygg- eller versionspipeline och fyll i skriptet genom att anropa
PackageDeploymentTool.exe
.PackageDeploymentTool.exe
finns under den definierade mappen $DBDeploymentTool . Exempelskriptet är följande:Distribuera en U-SQL-databas lokalt:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>
Använd interaktivt autentiseringsläge för att distribuera en U-SQL-databas till ett Azure Data Lake Analytics-konto:
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
Använd utsöndrad autentisering för att distribuera en U-SQL-databas till ett Azure Data Lake Analytics-konto:
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>
Använd certFile-autentisering för att distribuera en U-SQL-databas till ett Azure Data Lake Analytics-konto:
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 parameterbeskrivningar
Vanliga parametrar
Parameter | Beskrivning | Standardvärde | Obligatorisk |
---|---|---|---|
Paket | Sökvägen till det U-SQL-databasdistributionspaket som ska distribueras. | null | true |
Databas | Databasnamnet som ska distribueras till eller skapas. | master | falskt |
Loggfil | Sökvägen till filen för loggning. Standardvärdet är out (konsol). | null | falskt |
Loggnivå | Loggnivå: Utförlig, Normal, Varning eller Fel. | LogLevel.Normal | falskt |
Parameter för lokal distribution
Parameter | Beskrivning | Standardvärde | Obligatorisk |
---|---|---|---|
DataRoot | Sökvägen till rotmappen för lokala data. | null | true |
Parametrar för distribution av Azure Data Lake Analytics
Parameter | Beskrivning | Standardvärde | Obligatorisk |
---|---|---|---|
Konto | Anger vilket Azure Data Lake Analytics-konto som ska distribueras till efter kontonamn. | null | true |
ResourceGroup | Namnet på Azure-resursgruppen för Azure Data Lake Analytics-kontot. | null | true |
SubscriptionId | Azure-prenumerations-ID för Azure Data Lake Analytics-kontot. | null | true |
Klientorganisation | Klientorganisationens namn är det Microsoft Entra domännamnet. Du hittar den på sidan för prenumerationshantering i Azure Portal. | null | true |
AzureSDKPath | Sökvägen till beroende sammansättningar i Azure SDK. | null | true |
Interaktiv | Om du vill använda interaktivt läge för autentisering eller inte. | falskt | falskt |
ClientId | Det Microsoft Entra program-ID som krävs för icke-interaktiv autentisering. | null | Krävs för icke-interaktiv autentisering. |
Hemlighet | Hemligheten eller lösenordet för icke-interaktiv autentisering. Den bör endast användas i en betrodd och säker miljö. | null | Krävs för icke-interaktiv autentisering, annars använder du SecreteFile. |
SecretFile | Filen sparar hemligheten eller lösenordet för icke-interaktiv autentisering. Se till att hålla den skrivbar endast av den aktuella användaren. | null | Krävs för icke-interaktiv autentisering, eller annars använder du Hemlighet. |
CertFile | Filen sparar X.509-certifiering för icke-interaktiv autentisering. Standardvärdet är att använda klienthemlighetsautentisering. | null | falskt |
JobPrefix | Prefixet för databasdistribution av ett U-SQL DDL-jobb. | Deploy_ + DateTime.Now | falskt |