Een CI/CD-pijplijn instellen voor Azure Data Lake Analytics
In dit artikel leert u hoe u een pijplijn voor continue integratie en implementatie (CI/CD) kunt instellen voor U-SQL-taken en U-SQL-databases.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
CI/CD gebruiken voor U-SQL-taken
Azure Data Lake Tools voor Visual Studio biedt het U-SQL-projecttype waarmee u U-SQL-scripts kunt organiseren. Als u het U-SQL-project gebruikt om uw U-SQL-code te beheren, zijn verdere CI/CD-scenario's eenvoudig.
Een U-SQL-project bouwen
Een U-SQL-project kan worden gebouwd met de Microsoft Build Engine (MSBuild) door de bijbehorende parameters door te geven. Volg de stappen in dit artikel om een buildproces in te stellen voor een U-SQL-project.
Projectmigratie
Voordat u een build-taak voor een U-SQL-project in stelt, moet u ervoor zorgen dat u de nieuwste versie van het U-SQL-project hebt. Open het U-SQL-projectbestand in uw editor en controleer of u deze importitems hebt:
<!-- 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')" />
Zo niet, dan hebt u twee opties om het project te migreren:
- Optie 1: wijzig het oude importitem in het voorgaande.
- Optie 2: Open het oude project in de Azure Data Lake Tools voor Visual Studio. Gebruik een nieuwere versie dan 2.3.3000.0. De oude projectsjabloon wordt automatisch bijgewerkt naar de nieuwste versie. Nieuwe projecten die zijn gemaakt met een nieuwere versie dan 2.3.3000.0, maken gebruik van de nieuwe sjabloon.
NuGet krijgen
MSBuild biedt geen ingebouwde ondersteuning voor U-SQL-projecten. Voor deze ondersteuning moet u een verwijzing voor uw oplossing toevoegen aan het Microsoft.Azure.DataLake.USQL.SDK NuGet-pakket dat de vereiste taalservice toevoegt.
Als u de verwijzing naar het NuGet-pakket wilt toevoegen, klikt u met de rechtermuisknop op de oplossing in Visual Studio Solution Explorer kiest u NuGet-pakketten beheren. U kunt ook een bestand met de packages.config naam toevoegen in de oplossingsmap en de volgende inhoud in het bestand plaatsen:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
U-SQL database beheren
U-SQL-scripts in een U-SQL-project hebben mogelijk query-instructies voor U-SQL database objecten. In dat geval moet u verwijzen naar het bijbehorende U-SQL database-project dat de definitie van de objecten bevat voordat u het U-SQL-project bouwt. Een voorbeeld hiervan is wanneer u een query uitvoert op een U-SQL-tabel of naar een assembly verwijst.
Meer informatie over U-SQL database project.
Notitie
De DROP-instructie kan leiden tot een onbedoelde verwijdering. Als u de DROP-instructie wilt inschakelen, moet u expliciet de MSBuild-argumenten opgeven. AllowDropStatement maakt niet-gegevensgerelateerde DROP-bewerking mogelijk, zoals de functie drop assembly en drop table valued. AllowDataDropStatement maakt gegevensgerelateerde DROP-bewerking mogelijk, zoals drop table en drop schema. U moet AllowDropStatement inschakelen voordat u AllowDataDropStatement gebruikt.
Een U-SQL-project bouwen met de MSBuild-opdrachtregel
Migreert eerst het project en haal het NuGet-pakket op. Roep vervolgens de standaard MSBuild-opdrachtregel aan met de volgende aanvullende argumenten om uw U-SQL-project te bouwen:
msbuild USQLBuild.usqlproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime;USQLTargetType=SyntaxCheck;DataRoot=datarootfolder;/p:EnableDeployment=true
De argumentendefinitie en -waarden zijn als volgt:
USQLSDKPath= <U-SQL Nuget package> \build\runtime. Deze parameter verwijst naar het installatiepad van het NuGet-pakket voor de U-SQL-taalservice.
USQLTargetType=Samenvoegen of SyntaxIscontrole:
Voeg samen. De samenvoegmodus compileert code achter bestanden. Voorbeelden zijn .cs-, .py- en .r-bestanden. De resulterende door de gebruiker gedefinieerde codebibliotheek wordt inline in het U-SQL-script. Voorbeelden zijn een binaire DLL-code, Python- of R-code.
Syntaxiscontrole. In de modus SyntaxCheck worden code-behind-bestanden eerst samengevoegd in het U-SQL-script. Vervolgens wordt het U-SQL-script ge compileerd om uw code te valideren.
DataRoot <DataRoot path> =. DataRoot is alleen nodig voor de syntaxiscontrolemodus. Wanneer het script wordt gebouwd met de syntaxiscontrolemodus, controleert MSBuild de verwijzingen naar databaseobjecten in het script. Voordat u bouwt, stelt u een overeenkomende lokale omgeving in die de objecten bevat waarnaar wordt verwezen uit de U-SQL database in de map DataRoot van de buildmachine. U kunt deze databaseafhankelijkheden ook beheren door te verwijzen naar een U-SQL database project. MSBuild controleert alleen databaseobjectverwijzingen, niet bestanden.
EnableDeployment=true of false. EnableDeployment geeft aan of er tijdens het bouwproces naar U-SQL-databases mag worden verwezen. Als u verwijst naar een U-SQL database-project en de databaseobjecten in uw U-SQL-script gebruikt, stelt u deze parameter in op true.
Continue integratie via Azure Pipelines
Naast de opdrachtregel kunt u ook de opdrachtregel Visual Studio Build of een MSBuild-taak gebruiken om U-SQL-projecten te bouwen in Azure Pipelines. Als u een build-pijplijn wilt instellen, moet u twee taken toevoegen aan de build-pijplijn: een NuGet-hersteltaak en een MSBuild-taak.

Voeg een NuGet-hersteltaak toe om het NuGet-pakket met verwijzingen naar de oplossing op te halen dat bevat, zodat
Azure.DataLake.USQL.SDKMSBuild de U-SQL-taaldoelen kan vinden. Stel De map Geavanceerde > bestemming in op als u het voorbeeld met$(Build.SourcesDirectory)/packagesMSBuild-argumenten rechtstreeks in stap 2 wilt gebruiken.
Stel MSBuild-argumenten in Visual Studio buildhulpprogramma's of in een MSBuild-taak, zoals wordt weergegeven in het volgende voorbeeld. U kunt ook variabelen voor deze argumenten definiëren in de build-pipeline van 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
Build-uitvoer van U-SQL-project
Nadat u een build hebt uitgevoerd, worden alle scripts in het U-SQL-project gebouwd en uitgevoerd naar een ZIP-bestand met de naam USQLProjectName.usqlpack . De mapstructuur in uw project wordt bewaard in de ingepakte build-uitvoer.
Notitie
De code-behind-bestanden voor elk U-SQL-script worden samengevoegd als een inline-instructie voor de uitvoer van de script-build.
U-SQL-scripts testen
Azure Data Lake biedt testprojecten voor U-SQL-scripts en C# UDO/UDAG/UDF:
Meer informatie over het toevoegen van testgevallen voor U-SQL-scripts en uitgebreide C#-code
Meer informatie over het uitvoeren van test cases in Azure Pipelines.
Een U-SQL-taak implementeren
Nadat u code hebt gecontroleerd via het build- en testproces, kunt u U-SQL-taken rechtstreeks vanuit Azure Pipelines verzenden via een Azure PowerShell taak. U kunt het script ook implementeren in Azure Data Lake Store of Azure Blob Storage en de geplande taken uitvoeren via Azure Data Factory.
U-SQL-taken verzenden via Azure Pipelines
De build-uitvoer van het U-SQL-project is een ZIP-bestand met de naam USQLProjectName.usqlpack. Het zip-bestand bevat alle U-SQL-scripts in het project. U kunt de Azure PowerShell in Pipelines gebruiken met het volgende PowerShell-voorbeeldscript om U-SQL-taken rechtstreeks vanuit Azure Pipelines te verzenden.
<#
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
Notitie
De opdrachten: Submit-AzDataLakeAnalyticsJob en zijn beide Azure PowerShell Wait-AzDataLakeAnalyticsJob cmdlets voor Azure Data Lake Analytics in het Azure Resource Manager framework. U hebt een werkstation geïnstalleerd Azure PowerShell geïnstalleerd. Raadpleeg de lijst met opdrachten voor meer opdrachten en voorbeelden.
U-SQL-taken implementeren via Azure Data Factory
U kunt U-SQL-taken rechtstreeks vanuit Azure Pipelines verzenden. U kunt ook de ingebouwde scripts uploaden naar Azure Data Lake Store of Azure Blob Storage en de geplande taken uitvoeren via Azure Data Factory.
Gebruik de Azure PowerShell in Azure Pipelines met het volgende PowerShell-voorbeeldscript om de U-SQL-scripts te uploaden naar een Azure Data Lake Store-account:
<#
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 voor een U-SQL database
Azure Data Lake Tools voor Visual Studio biedt U-SQL database-projectsjablonen waarmee u U-SQL-databases kunt ontwikkelen, beheren en implementeren. Meer informatie over een U-SQL database-project.
U-SQL database-project bouwen
Het NuGet-pakket ontvangen
MSBuild biedt geen ingebouwde ondersteuning voor U-SQL database-projecten. Om deze mogelijkheid te krijgen, moet u een verwijzing voor uw oplossing toevoegen aan het Microsoft.Azure.DataLake.USQL.SDK NuGet-pakket dat de vereiste taalservice toevoegt.
Als u de verwijzing naar het NuGet-pakket wilt toevoegen, klikt u met de rechtermuisknop op de oplossing in Visual Studio Solution Explorer. Kies NuGet-pakketten beheren. Zoek en installeer vervolgens het NuGet-pakket. U kunt ook een bestand met de packages.config toevoegen aan de oplossingsmap en de volgende inhoud in het bestand plaatsen:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
Een U-SQL-databaseproject bouwen met de MSBuild-opdrachtregel
Als u uw U-SQL database-project wilt bouwen, roept u de standaard MSBuild-opdrachtregel aan en geeft u de NuGet-pakketverwijzing voor de U-SQL SDK door als een extra argument. Zie het volgende voorbeeld:
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
Het argument USQLSDKPath=<U-SQL Nuget package>\build\runtime verwijst naar het installatiepad van het NuGet-pakket voor de U-SQL-taalservice.
Continue integratie met Azure-pijplijnen
Naast de opdrachtregel kunt u Visual Studio Build of een MSBuild-taak gebruiken om U-SQL database-projecten te bouwen in Azure Pipelines. Als u een build-taak wilt instellen, moet u twee taken toevoegen aan de build-pijplijn: een NuGet-hersteltaak en een MSBuild-taak.

Voeg een NuGet-hersteltaak toe om het NuGet-pakket met verwijzingen naar de oplossing op te halen. Dit pakket bevat , zodat
Azure.DataLake.USQL.SDKMSBuild de U-SQL-taaldoelen kan vinden. Stel De map Geavanceerde > bestemming in op als u het voorbeeld met$(Build.SourcesDirectory)/packagesMSBuild-argumenten rechtstreeks in stap 2 wilt gebruiken.
Stel MSBuild-argumenten in Visual Studio buildhulpprogramma's of in een MSBuild-taak, zoals wordt weergegeven in het volgende voorbeeld. U kunt ook variabelen voor deze argumenten definiëren in de build-pipeline van Azure Pipelines.

/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
Uitvoer van SQL database-project
De build-uitvoer voor een U-SQL database-project is een U-SQL database-implementatiepakket met de naam met het achtervoegsel .usqldbpack . Het .usqldbpack pakket is een ZIP-bestand met alle DDL-instructies in één U-SQL-script in een DDL-map. Het bevat alle DLL's en aanvullende bestanden voor assembly in een tijdelijke map.
Tabelfuncties en opgeslagen procedures testen
Het rechtstreeks toevoegen van testgevallen voor tabelfuncties en opgeslagen procedures wordt momenteel niet ondersteund. Als tijdelijke oplossing kunt u een U-SQL-project maken met U-SQL-scripts die deze functies aanroepen en testgevallen voor deze functies schrijven. Volg de volgende stappen om testgevallen in te stellen voor tabelfuncties en opgeslagen procedures die zijn gedefinieerd in het U-SQL database project:
Maak een U-SQL-project voor testdoeleinden en schrijf U-SQL-scripts die de tabelfuncties en opgeslagen procedures aanroepen.
Voeg een databaseverwijzing toe aan het U-SQL-project. Om de tabelwaardefunctie en de opgeslagen proceduredefinitie op te halen, moet u verwijzen naar het databaseproject dat de DDL-instructie bevat. Meer informatie over databaseverwijzingen.
Voeg testgevallen toe voor U-SQL-scripts die tabelfuncties en opgeslagen procedures aanroepen. Meer informatie over het toevoegen van testgevallen voor U-SQL-scripts.
U-SQL database implementeren via Azure Pipelines
PackageDeploymentTool.exebiedt de programmeer- en opdrachtregelinterfaces die u helpen bij het implementeren van U-SQL database-implementatiepakketten, .usqldbpack. De SDK is opgenomen in het U-SQL SDK NuGet-pakket, dat zich bevindt in build/runtime/PackageDeploymentTool.exe. Met kunt PackageDeploymentTool.exe u U-SQL-databases implementeren voor zowel Azure Data Lake Analytics lokale accounts.
Notitie
Ondersteuning voor PowerShell-opdrachtregel en releasetaakondersteuning van Azure Pipelines voor U-SQL database is momenteel in behandeling.
Volg de volgende stappen om een database-implementatietaak in Te stellen in Azure Pipelines:
Voeg een PowerShell-scripttaak toe aan een build- of release-pijplijn en voer het volgende PowerShell-script uit. Deze taak helpt om Azure SDK-afhankelijkheden op te halen voor
PackageDeploymentTool.exeenPackageDeploymentTool.exe. U kunt de parameters -AzureSDK en -DBDeploymentTool instellen om de afhankelijkheden en het implementatiehulpprogramma in specifieke mappen te laden. Geef het -AzureSDK-pad doorPackageDeploymentTool.exeaan als de parameter -AzureSDKPath in stap 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\*.* $DBDeploymentToolVoeg een opdrachtregeltaak toe aan een build- of release-pijplijn en vul het script in door aan te
PackageDeploymentTool.exeroepen.PackageDeploymentTool.exebevindt zich onder de gedefinieerde $DBDeploymentTool map. Het voorbeeldscript is als volgt:Implementeer een U-SQL database lokaal:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>Gebruik de interactieve verificatiemodus om een U-SQL database implementeren op een Azure Data Lake Analytics account:
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> -InteractiveGebruik verificatie van geheimen om een U-SQL database te implementeren in Azure Data Lake Analytics account:
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>Gebruik certFile-verificatie om een U-SQL database implementeren op een Azure Data Lake Analytics account:
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 parameterbeschrijvingen
Algemene parameters
| Parameter | Beschrijving | Standaardwaarde | Vereist |
|---|---|---|---|
| Pakket | Het pad van het U-SQL database implementatiepakket dat moet worden geïmplementeerd. | null | true |
| Database | De databasenaam die moet worden geïmplementeerd of gemaakt. | model | onjuist |
| Logfile | Het pad van het bestand voor logboekregistratie. De standaardwaarde is Standaard (console). | null | false |
| Logniveau | Logboekniveau: Uitgebreid, Normaal, Waarschuwing of Fout. | LogLevel.Normal | onjuist |
Parameter voor lokale implementatie
| Parameter | Beschrijving | Standaardwaarde | Vereist |
|---|---|---|---|
| DataRoot | Het pad naar de hoofdmap van de lokale gegevens. | null | true |
Parameters voor Azure Data Lake Analytics implementatie
| Parameter | Beschrijving | Standaardwaarde | Vereist |
|---|---|---|---|
| Account | Hiermee geeft u op Azure Data Lake Analytics account moet worden geïmplementeerd op accountnaam. | null | true |
| ResourceGroup | De naam van de Azure-resourcegroep voor Azure Data Lake Analytics account. | null | true |
| SubscriptionId | De Azure-abonnements-id voor het Azure Data Lake Analytics account. | null | true |
| Tenant | De tenantnaam is de Azure Active Directory (Azure AD)-domeinnaam. U vindt deze op de pagina abonnementsbeheer in de Azure Portal. | null | true |
| AzureSDKPath | Het pad voor het zoeken naar afhankelijke assemblies in de Azure SDK. | null | true |
| Interactief | Of de interactieve modus voor verificatie moet worden gebruikt. | onjuist | onjuist |
| ClientId | De Azure AD-toepassings-id die is vereist voor niet-interactieve verificatie. | null | Vereist voor niet-interactieve verificatie. |
| Afscheiden | Het geheim of wachtwoord voor niet-interactieve verificatie. Deze mag alleen worden gebruikt in een vertrouwde en veilige omgeving. | null | Vereist voor niet-interactieve verificatie of gebruik SecreteFile. |
| SecreteFile | Het bestand slaat het geheim of wachtwoord op voor niet-interactieve verificatie. Zorg ervoor dat deze alleen leesbaar is voor de huidige gebruiker. | null | Vereist voor niet-interactieve verificatie of gebruik Secrete. |
| CertFile | Het bestand slaat X.509-certificering op voor niet-interactieve verificatie. De standaardinstelling is om verificatie van clientgeheimen te gebruiken. | null | false |
| JobPrefix | Het voorvoegsel voor database-implementatie van een U-SQL DDL-taak. | Deploy_ + DateTime.Now | onjuist |