Jak skonfigurować potok ciągłej integracji/ciągłego wdrażania dla usługi Azure Data Lake Analytics
Z tego artykułu dowiesz się, jak skonfigurować potok ciągłej integracji i ciągłego wdrażania (CI/CD) dla zadań U-SQL i baz danych U-SQL.
Ważne
Usługa Azure Data Lake Analytics wycofana 29 lutego 2024 r. Dowiedz się więcej z tego ogłoszenia.
Na potrzeby analizy danych organizacja może używać usługi Azure Synapse Analytics lub Microsoft Fabric.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Używanie ciągłej integracji/ciągłego wdrażania dla zadań U-SQL
Azure Data Lake Tools for Visual Studio udostępnia typ projektu U-SQL, który ułatwia organizowanie skryptów U-SQL. Zarządzanie kodem U-SQL przy użyciu projektu U-SQL ułatwia dalsze scenariusze ciągłej integracji/ciągłego wdrażania.
Tworzenie projektu U-SQL
Projekt U-SQL można skompilować przy użyciu Microsoft Build Engine (MSBuild), przekazując odpowiednie parametry. Wykonaj kroki opisane w tym artykule, aby skonfigurować proces kompilacji dla projektu U-SQL.
Migracja projektu
Przed skonfigurowaniem zadania kompilacji dla projektu U-SQL upewnij się, że masz najnowszą wersję projektu U-SQL. Otwórz plik projektu U-SQL w edytorze i sprawdź, czy masz następujące elementy importu:
<!-- 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')" />
Jeśli nie, masz dwie opcje migracji projektu:
- Opcja 1. Zmień stary element importu na poprzedni.
- Opcja 2. Otwórz stary projekt w Azure Data Lake Tools for Visual Studio. Użyj nowszej wersji niż 2.3.3000.0. Stary szablon projektu zostanie automatycznie uaktualniony do najnowszej wersji. Nowe projekty utworzone z nowszymi wersjami niż 2.3.3000.0 używają nowego szablonu.
Pobieranie pakietu NuGet
Program MSBuild nie zapewnia wbudowanej obsługi projektów U-SQL. Aby uzyskać tę pomoc techniczną, musisz dodać odwołanie do rozwiązania do pakietu NuGet Microsoft.Azure.DataLake.USQL.SDK , który dodaje wymaganą usługę językową.
Aby dodać odwołanie do pakietu NuGet, kliknij prawym przyciskiem myszy rozwiązanie w programie Visual Studio Eksplorator rozwiązań i wybierz polecenie Zarządzaj pakietami NuGet. Możesz też dodać plik o nazwie packages.config
w folderze rozwiązania i umieścić do niego następującą zawartość:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
Zarządzanie odwołaniami bazy danych U-SQL
Skrypty U-SQL w projekcie U-SQL mogą mieć instrukcje zapytań dla obiektów bazy danych U-SQL. W takim przypadku należy odwołać się do odpowiedniego projektu bazy danych U-SQL, który zawiera definicję obiektów przed utworzeniem projektu U-SQL. Przykładem jest zapytanie dotyczące tabeli U-SQL lub odwoływanie się do zestawu.
Dowiedz się więcej o projekcie bazy danych U-SQL.
Uwaga
Instrukcja DROP może spowodować przypadkowe usunięcie. Aby włączyć instrukcję DROP, należy jawnie określić argumenty MSBuild. AllowDropStatement włączy niezwiązaną z danymi operację DROP, na przykład funkcję drop assembly i drop table valued. AllowDataDropStatement włączy operację DROP powiązaną z danymi, na przykład drop table i drop schema. Przed użyciem parametru AllowDataDropStatement należy włączyć parametr AllowDataDropStatement.
Kompilowanie projektu U-SQL przy użyciu wiersza polecenia MSBuild
Najpierw przeprowadź migrację projektu i pobierz pakiet NuGet. Następnie wywołaj standardowy wiersz polecenia MSBuild z następującymi argumentami, aby skompilować projekt U-SQL:
msbuild USQLBuild.usqlproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime;USQLTargetType=SyntaxCheck;DataRoot=datarootfolder;/p:EnableDeployment=true
Definicja argumentów i wartości są następujące:
USQLSDKPath=<U-SQL Nuget package>\build\runtime. Ten parametr odwołuje się do ścieżki instalacji pakietu NuGet dla usługi językowej U-SQL.
USQLTargetType=Merge lub SyntaxCheck:
Scal. Tryb scalania kompiluje pliki za pomocą kodu. Przykłady to pliki .cs, .py i r . Jest on wbudowany w wynikową bibliotekę kodu zdefiniowaną przez użytkownika do skryptu U-SQL. Przykładami są pliki binarne dll, Python lub R.
SkładniaZnacz. Tryb SyntaxCheck najpierw scala pliki kodu za pomocą skryptu U-SQL. Następnie kompiluje skrypt U-SQL w celu zweryfikowania kodu.
DataRoot =<Ścieżka> elementu DataRoot. Folder DataRoot jest wymagany tylko w trybie SyntaxCheck. Podczas kompilowania skryptu za pomocą trybu SyntaxCheck program MSBuild sprawdza odwołania do obiektów bazy danych w skry skrycie. Przed utworzeniem skonfiguruj zgodne środowisko lokalne zawierające przywoływane obiekty z bazy danych U-SQL w folderze DataRoot maszyny kompilacji. Te zależności bazy danych można również zarządzać, odwołując się do projektu bazy danych U-SQL. Program MSBuild sprawdza tylko odwołania do obiektów bazy danych, a nie pliki.
EnableDeployment=true lub false. EnableDeployment wskazuje, czy podczas procesu kompilacji można wdrożyć przywoływne bazy danych U-SQL. Jeśli odwołujesz się do projektu bazy danych U-SQL i korzystasz z obiektów bazy danych w skry skryptie U-SQL, ustaw ten parametr na wartość true.
Ciągła integracja za pośrednictwem usługi Azure Pipelines
Oprócz wiersza polecenia można również użyć programu Visual Studio Build lub zadania MSBuild do kompilowania projektów U-SQL w usłudze Azure Pipelines. Aby skonfigurować potok kompilacji, pamiętaj, aby dodać dwa zadania w potoku kompilacji: zadanie przywracania NuGet i zadanie programu MSBuild.
Dodaj zadanie przywracania NuGet, aby uzyskać pakiet NuGet, do którego odwołuje się rozwiązanie, zawierający
Azure.DataLake.USQL.SDK
element , aby program MSBuild mógł znaleźć obiekty docelowe języka U-SQL. Ustaw wartość Advanced>Destination directory na$(Build.SourcesDirectory)/packages
, jeśli chcesz użyć przykładowych argumentów MSBuild bezpośrednio w kroku 2.Ustaw argumenty MSBuild w narzędziach kompilacji programu Visual Studio lub w zadaniu MSBuild, jak pokazano w poniższym przykładzie. Możesz też zdefiniować zmienne dla tych argumentów w potoku kompilacji usługi 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
Dane wyjściowe kompilacji projektu U-SQL
Po uruchomieniu kompilacji wszystkie skrypty w projekcie U-SQL są kompilowane i wyjściowe do pliku zip o nazwie USQLProjectName.usqlpack
. Struktura folderów w projekcie jest przechowywana w spakowanych danych wyjściowych kompilacji.
Uwaga
Pliki związane z kodem dla każdego skryptu U-SQL zostaną scalone jako instrukcja śródliniowa do danych wyjściowych kompilacji skryptu.
Testowanie skryptów U-SQL
Usługa Azure Data Lake udostępnia projekty testowe skryptów U-SQL i UDO#UDO/UDAG/UDF:
Dowiedz się, jak dodawać przypadki testowe dla skryptów U-SQL i rozszerzonego kodu języka C#
Dowiedz się, jak uruchamiać przypadki testowe w usłudze Azure Pipelines.
Wdrażanie zadania U-SQL
Po zweryfikowaniu kodu za pomocą procesu kompilacji i testowania można przesłać zadania U-SQL bezpośrednio z usługi Azure Pipelines za pośrednictwem zadania Azure PowerShell. Skrypt można również wdrożyć w usłudze Azure Data Lake Store lub Azure Blob Storage i uruchomić zaplanowane zadania za pośrednictwem Azure Data Factory.
Przesyłanie zadań U-SQL za pomocą usługi Azure Pipelines
Dane wyjściowe kompilacji projektu U-SQL to plik zip o nazwie USQLProjectName.usqlpack. Plik zip zawiera wszystkie skrypty U-SQL w projekcie. Za pomocą zadania Azure PowerShell w usłudze Pipelines można użyć następującego przykładowego skryptu programu PowerShell do przesyłania zadań U-SQL bezpośrednio z usługi 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
Uwaga
Polecenia : Submit-AzDataLakeAnalyticsJob
i Wait-AzDataLakeAnalyticsJob
są Azure PowerShell polecenia cmdlet dla usługi Azure Data Lake Analytics w strukturze azure Resource Manager. Będziesz neeed stacji roboczej z zainstalowanym Azure PowerShell. Więcej poleceń i przykładów można znaleźć na liście poleceń .
Wdrażanie zadań U-SQL za pomocą Azure Data Factory
Zadania U-SQL można przesyłać bezpośrednio z usługi Azure Pipelines. Możesz też przekazać utworzone skrypty do usługi Azure Data Lake Store lub Azure Blob Storage i uruchomić zaplanowane zadania za pośrednictwem Azure Data Factory.
Użyj zadania Azure PowerShell w usłudze Azure Pipelines z następującym przykładowym skryptem programu PowerShell, aby przekazać skrypty U-SQL do konta usługi 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ągła integracja/ciągłe wdrażanie dla bazy danych U-SQL Database
Azure Data Lake Tools for Visual Studio udostępnia szablony projektów bazy danych U-SQL, które ułatwiają opracowywanie i wdrażanie baz danych U-SQL oraz zarządzanie nimi. Dowiedz się więcej o projekcie bazy danych U-SQL Database.
Kompilowanie projektu bazy danych U-SQL Database
Pobieranie pakietu NuGet
Program MSBuild nie zapewnia wbudowanej obsługi projektów bazy danych U-SQL. Aby uzyskać tę możliwość, musisz dodać odwołanie do rozwiązania do pakietu NuGet Microsoft.Azure.DataLake.USQL.SDK , który dodaje wymaganą usługę językową.
Aby dodać odwołanie do pakietu NuGet, kliknij prawym przyciskiem myszy rozwiązanie w programie Visual Studio Eksplorator rozwiązań. Wybierz pozycję Zarządzaj pakietami NuGet. Następnie wyszukaj i zainstaluj pakiet NuGet. Możesz też dodać plik o nazwie packages.config w folderze rozwiązania i umieścić do niego następującą zawartość:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
Kompilowanie projektu bazy danych U-SQL przy użyciu wiersza polecenia MSBuild
Aby skompilować projekt bazy danych U-SQL, wywołaj standardowy wiersz polecenia MSBuild i przekaż odwołanie do pakietu NuGet zestawu SDK U-SQL jako inny argument. Zobacz poniższy przykład:
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
Argument USQLSDKPath=<U-SQL Nuget package>\build\runtime
odnosi się do ścieżki instalacji pakietu NuGet dla usługi językowej U-SQL.
Ciągła integracja z użyciem usługi Azure Pipelines
Oprócz wiersza polecenia można użyć programu Visual Studio Build lub zadania MSBuild do kompilowania projektów bazy danych U-SQL w usłudze Azure Pipelines. Aby skonfigurować zadanie kompilacji, dodaj dwa zadania w potoku kompilacji: zadanie przywracania NuGet i zadanie MSBuild.
Dodaj zadanie przywracania NuGet, aby uzyskać pakiet NuGet, do którego odwołuje się rozwiązanie, który zawiera
Azure.DataLake.USQL.SDK
element , aby program MSBuild mógł znaleźć obiekty docelowe języka U-SQL. Ustaw katalog advanced>destination na$(Build.SourcesDirectory)/packages
, jeśli chcesz użyć przykładowych argumentów MSBuild bezpośrednio w kroku 2.Ustaw argumenty MSBuild w narzędziach kompilacji programu Visual Studio lub w zadaniu MSBuild, jak pokazano w poniższym przykładzie. Możesz też zdefiniować zmienne dla tych argumentów w potoku kompilacji usługi Azure Pipelines.
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
Dane wyjściowe kompilacji projektu bazy danych U-SQL Database
Dane wyjściowe kompilacji dla projektu bazy danych U-SQL to pakiet wdrożeniowy bazy danych U-SQL o nazwie z sufiksem .usqldbpack
. Pakiet .usqldbpack
jest plikiem zip, który zawiera wszystkie instrukcje DDL w jednym skrypcie U-SQL w folderze DDL. Zawiera wszystkie pliki dll i inne pliki do zestawu w folderze tymczasowym.
Testowanie funkcji wartości tabeli i procedur składowanych
Dodawanie przypadków testowych dla funkcji wartości tabeli i procedur składowanych bezpośrednio nie jest obecnie obsługiwane. Aby obejść ten problem, możesz utworzyć projekt U-SQL, który zawiera skrypty U-SQL wywołujące te funkcje i pisać dla nich przypadki testowe. Wykonaj następujące kroki, aby skonfigurować przypadki testowe dla funkcji wartości tabeli i procedur składowanych zdefiniowanych w projekcie bazy danych U-SQL Database:
Utwórz projekt U-SQL do celów testowych i napisz skrypty U-SQL wywołujące funkcje wartości tabeli i procedury składowane.
Dodaj odwołanie do bazy danych do projektu U-SQL. Aby uzyskać funkcję wartości tabeli i definicję procedury składowanej, należy odwołać się do projektu bazy danych zawierającego instrukcję DDL. Dowiedz się więcej o odwołaniach do bazy danych.
Dodaj przypadki testowe dla skryptów U-SQL wywołujących funkcje wartości tabeli i procedury składowane. Dowiedz się, jak dodawać przypadki testowe dla skryptów U-SQL.
Wdrażanie bazy danych U-SQL za pomocą usługi Azure Pipelines
PackageDeploymentTool.exe
udostępnia interfejsy programowania i wiersza polecenia, które ułatwiają wdrażanie pakietów wdrażania bazy danych U-SQL, .usqldbpack. Zestaw SDK znajduje się w pakiecie NuGet zestawu SDK U-SQL znajdującym się w lokalizacji build/runtime/PackageDeploymentTool.exe. Za pomocą programu PackageDeploymentTool.exe
można wdrożyć bazy danych U-SQL zarówno na kontach platformy Azure Data Lake Analytics, jak i na kontach lokalnych.
Uwaga
Obsługa wiersza polecenia programu PowerShell i obsługa zadań wydania usługi Azure Pipelines dla wdrożenia bazy danych U-SQL jest obecnie oczekująca.
Wykonaj następujące kroki, aby skonfigurować zadanie wdrażania bazy danych w usłudze Azure Pipelines:
Dodaj zadanie skryptu programu PowerShell w potoku kompilacji lub wydania i wykonaj następujący skrypt programu PowerShell. To zadanie pomaga uzyskać zależności zestawu Azure SDK dla
PackageDeploymentTool.exe
iPackageDeploymentTool.exe
. Możesz ustawić parametry -AzureSDK i -DBDeploymentTool , aby załadować zależności i narzędzie wdrażania do określonych folderów. Przekaż ścieżkę -AzureSDK doPackageDeploymentTool.exe
jako parametru -AzureSDKPath w kroku 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
Dodaj zadanie wiersza polecenia w potoku kompilacji lub wydania i wypełnij skrypt, wywołując polecenie
PackageDeploymentTool.exe
.PackageDeploymentTool.exe
znajduje się w zdefiniowanym folderze $DBDeploymentTool . Przykładowy skrypt jest następujący:Wdróż lokalnie bazę danych U-SQL:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>
Użyj trybu uwierzytelniania interaktywnego, aby wdrożyć bazę danych U-SQL na koncie usługi 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
Użyj uwierzytelniania wpisów tajnych, aby wdrożyć bazę danych U-SQL na koncie usługi 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>
Użyj uwierzytelniania certFile, aby wdrożyć bazę danych U-SQL na koncie usługi 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>
opisy parametrów PackageDeploymentTool.exe
Typowe parametry
Parametr | Description | Wartość domyślna | Wymagane |
---|---|---|---|
Pakiet | Ścieżka pakietu wdrożeniowego bazy danych U-SQL, który ma zostać wdrożony. | null | true |
baza danych | Nazwa bazy danych, która ma zostać wdrożona w programie lub została utworzona. | master | fałsz |
Logfile | Ścieżka pliku do rejestrowania. Wartość domyślna to standard out (konsola). | null | fałsz |
LogLevel | Poziom dziennika: pełne, normalne, ostrzeżenie lub błąd. | LogLevel.Normal | fałsz |
Parametr wdrożenia lokalnego
Parametr | Description | Wartość domyślna | Wymagane |
---|---|---|---|
DataRoot | Ścieżka lokalnego folderu głównego danych. | null | true |
Parametry wdrożenia usługi Azure Data Lake Analytics
Parametr | Description | Wartość domyślna | Wymagane |
---|---|---|---|
Konto | Określa konto usługi Azure Data Lake Analytics do wdrożenia według nazwy konta. | null | true |
ResourceGroup | Nazwa grupy zasobów platformy Azure dla konta usługi Azure Data Lake Analytics. | null | true |
SubscriptionId | Identyfikator subskrypcji platformy Azure dla konta usługi Azure Data Lake Analytics. | null | true |
Dzierżawa | Nazwa dzierżawy to nazwa domeny Microsoft Entra. Znajdź go na stronie zarządzania subskrypcjami w Azure Portal. | null | true |
AzureSDKPath | Ścieżka do wyszukiwania zestawów zależnych w zestawie Azure SDK. | null | true |
Interaktywne | Niezależnie od tego, czy używać trybu interaktywnego do uwierzytelniania. | fałsz | fałsz |
ClientId | Identyfikator aplikacji Microsoft Entra wymagany do uwierzytelniania nieinterakcyjnego. | null | Wymagane do uwierzytelniania nieinterakcyjnego. |
Wpis tajny | Wpis tajny lub hasło do uwierzytelniania nieinterakcyjnego. Należy go używać tylko w zaufanym i bezpiecznym środowisku. | null | Wymagane do uwierzytelniania nieinterakcyjnego lub używania pliku SecreteFile. |
SecretFile | Plik zapisuje wpis tajny lub hasło do uwierzytelniania nieinterakcyjnego. Pamiętaj, aby zachować czytelność tylko przez bieżącego użytkownika. | null | Wymagane do uwierzytelniania nieinterakcyjnego lub używania wpisu tajnego. |
Certfile | Plik zapisuje certyfikat X.509 na potrzeby uwierzytelniania nieinterakcyjnego. Ustawieniem domyślnym jest użycie uwierzytelniania wpisów tajnych klienta. | null | fałsz |
JobPrefix | Prefiks wdrożenia bazy danych zadania DDL U-SQL. | Deploy_ + DateTime.Now | fałsz |