Sdílet prostřednictvím


Nastavení kanálu CI/CD pro Azure Data Lake Analytics

V tomto článku se dozvíte, jak nastavit kanál kontinuální integrace a průběžného nasazování (CI/CD) pro úlohy U-SQL a databáze U-SQL.

Důležité

Azure Data Lake Analytics vyřazena 29. února 2024. Další informace najdete v tomto oznámení.

K analýze dat může vaše organizace použít Azure Synapse Analytics nebo Microsoft Fabric.

Poznámka

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Použití CI/CD pro úlohy U-SQL

Nástroje Azure Data Lake pro Visual Studio poskytuje typ projektu U-SQL, který vám pomůže uspořádat skripty U-SQL. Použití projektu U-SQL ke správě kódu U-SQL usnadňuje další scénáře CI/CD.

Sestavení projektu U-SQL

Projekt U-SQL je možné sestavit pomocí Microsoft Build Engine (MSBuild) předáním odpovídajících parametrů. Postupujte podle kroků v tomto článku a nastavte proces sestavení pro projekt U-SQL.

Migrace projektu

Před nastavením úlohy sestavení pro projekt U-SQL se ujistěte, že máte nejnovější verzi projektu U-SQL. Otevřete soubor projektu U-SQL v editoru a ověřte, že máte tyto položky 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')" />

Pokud ne, máte dvě možnosti migrace projektu:

  • Možnost 1: Změňte starou položku importu na předchozí položku.
  • Možnost 2: Otevřete starý projekt v Nástroje Azure Data Lake pro Visual Studio. Použijte novější verzi než 2.3.3000.0. Stará šablona projektu se automaticky upgraduje na nejnovější verzi. Nové projekty vytvořené s novějšími verzemi než 2.3.3000.0 používají novou šablonu.

Získat NuGet

NÁSTROJ MSBuild neposkytuje integrovanou podporu pro projekty U-SQL. Pokud chcete získat tuto podporu, musíte přidat referenční informace pro vaše řešení do balíčku NuGet Microsoft.Azure.DataLake.USQL.SDK , který přidá požadovanou službu jazyka.

Pokud chcete přidat odkaz na balíček NuGet, klikněte pravým tlačítkem na řešení v sadě Visual Studio Průzkumník řešení a zvolte Spravovat balíčky NuGet. Nebo můžete do složky řešení přidat soubor s názvem packages.config a vložit do něj následující obsah:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>

Správa odkazů na databáze U-SQL

Skripty U-SQL v projektu U-SQL můžou obsahovat příkazy dotazů pro databázové objekty U-SQL. V takovém případě musíte před sestavením projektu U-SQL odkazovat na odpovídající projekt databáze U-SQL, který obsahuje definici objektů. Příkladem je dotazování tabulky U-SQL nebo odkazování na sestavení.

Přečtěte si další informace o projektu databáze U-SQL.

Poznámka

Příkaz DROP může způsobit náhodné odstranění. Chcete-li povolit příkaz DROP, je nutné explicitně zadat argumenty NÁSTROJE MSBuild. AllowDropStatement povolí operaci DROP nesouvisenou s daty, jako je například funkce drop assembly a drop table valued. AllowDataDropStatement povolí operaci DROP související s daty, jako je vyřazení tabulky a přetažení schématu. Před použitím funkce AllowDataDropStatement musíte povolit funkci AllowDropStatement.

Sestavení projektu U-SQL pomocí příkazového řádku MSBuild

Nejprve migrujte projekt a získejte balíček NuGet. Pak zavolejte standardní příkazový řádek MSBuild s následujícími argumenty k sestavení projektu 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

Definice argumentů a hodnoty jsou následující:

  • USQLSDKPath=<U-SQL NuGet package>\build\runtime. Tento parametr odkazuje na instalační cestu balíčku NuGet pro službu jazyka U-SQL.

  • USQLTargetType=Merge nebo SyntaxCheck:

    • Sloučit. Režim sloučení kompiluje soubory kódu na pozadí. Příkladem jsou soubory .cs, .py a .r . Do skriptu U-SQL včte výslednou knihovnu kódu definovanou uživatelem. Příkladem může být binární kód knihovny DLL, Python nebo kód jazyka R.

    • Kontrola syntaxe Režim SyntaxCheck nejprve sloučí soubory kódu na pozadí do skriptu U-SQL. Pak zkompiluje skript U-SQL pro ověření vašeho kódu.

  • DataRoot=<Cesta> dataRoot. DataRoot je potřeba pouze pro režim SyntaxCheck. Když sestaví skript s režimem SyntaxCheck, nástroj MSBuild zkontroluje odkazy na databázové objekty ve skriptu. Před sestavením nastavte odpovídající místní prostředí, které obsahuje odkazované objekty z databáze U-SQL ve složce DataRoot počítače sestavení. Tyto závislosti databáze můžete spravovat také odkazem na projekt databáze U-SQL. Nástroj MSBuild pouze kontroluje odkazy na objekty databáze, nikoli soubory.

  • EnableDeployment=true nebo false. EnableDeployment označuje, jestli je během procesu sestavení povoleno nasazovat odkazované databáze U-SQL. Pokud odkazujete na projekt databáze U-SQL a využíváte databázové objekty ve skriptu U-SQL, nastavte tento parametr na hodnotu true.

Průběžná integrace prostřednictvím Azure Pipelines

Kromě příkazového řádku můžete k vytváření projektů U-SQL v Azure Pipelines použít také visual studio build nebo úlohu MSBuild. Pokud chcete nastavit kanál buildu, nezapomeňte do kanálu buildu přidat dvě úlohy: úlohu obnovení NuGet a úlohu MSBuild.

Úkol MSBuild pro projekt U-SQL

  1. Přidáním úlohy obnovení NuGet získáte balíček NuGet odkazovaný na řešení, který obsahuje Azure.DataLake.USQL.SDK, aby nástroj MSBuild mohl najít cíle jazyka U-SQL. Pokud chcete použít ukázku argumentů NÁSTROJE MSBuild přímo v kroku 2, nastavte rozšířený>cílový adresář na $(Build.SourcesDirectory)/packages hodnotu .

    Úloha obnovení NuGet pro projekt U-SQL

  2. Nastavte argumenty MSBuild v nástrojích sestavení sady Visual Studio nebo v úloze MSBuild, jak je znázorněno v následujícím příkladu. Nebo můžete pro tyto argumenty definovat proměnné v kanálu buildu Azure Pipelines.

    Definování proměnných CI/CD MSBuild pro projekt U-SQL

    /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
    

Výstup sestavení projektu U-SQL

Po spuštění sestavení se všechny skripty v projektu U-SQL sestaví a vyjdou do souboru ZIP s názvem USQLProjectName.usqlpack. Struktura složek ve vašem projektu se uchovává ve výstupu komprimovaného sestavení.

Poznámka

Soubory kódu na pozadí pro každý skript U-SQL se sloučí jako vložený příkaz do výstupu sestavení skriptu.

Testování skriptů U-SQL

Azure Data Lake poskytuje projekty testů pro skripty U-SQL a UDO/UDAG/UDF v jazyce C#:

Nasazení úlohy U-SQL

Po ověření kódu prostřednictvím procesu sestavení a testování můžete odesílat úlohy U-SQL přímo ze služby Azure Pipelines prostřednictvím úlohy Azure PowerShell. Skript můžete také nasadit do Azure Data Lake Store nebo Azure Blob Storage a spustit naplánované úlohy prostřednictvím Azure Data Factory.

Odesílání úloh U-SQL prostřednictvím Azure Pipelines

Výstupem sestavení projektu U-SQL je soubor zip s názvem USQLProjectName.usqlpack. Soubor zip obsahuje všechny skripty U-SQL v projektu. K odesílání úloh U-SQL přímo z Azure Pipelines můžete použít úlohu Azure PowerShell v Pipelines s následujícím ukázkovým skriptem PowerShellu.

<#
   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

Poznámka

Příkazy a Submit-AzDataLakeAnalyticsJobWait-AzDataLakeAnalyticsJob jsou Azure PowerShell rutinami pro Azure Data Lake Analytics v architektuře Azure Resource Manager. Budete potřebovat pracovní stanici s nainstalovaným Azure PowerShell. Další příkazy a příklady najdete v seznamu příkazů .

Nasazení úloh U-SQL prostřednictvím Azure Data Factory

Úlohy U-SQL můžete odesílat přímo z Azure Pipelines. Nebo můžete vytvořené skripty nahrát do Azure Data Lake Store nebo Azure Blob Storage a spouštět naplánované úlohy prostřednictvím Azure Data Factory.

Pomocí úlohy Azure PowerShell v Azure Pipelines s následujícím ukázkovým skriptem PowerShellu nahrajte skripty U-SQL do účtu Azure Data Lake Store:

<#
   This script can be used to upload U-SQL files to ADLS with given U-SQL project build output(.usqlpack file).
   This will unzip the U-SQL project build output, and upload all scripts to ADLS one-by-one.

   Example :
      FileUpload.ps1 -ADLSName "myadlsaccount" -ArtifactsRoot "C:\USQLProject\bin\debug\"
#>

param(
   [Parameter(Mandatory=$true)][string]$ADLSName, # ADLS account name to upload U-SQL scripts
   [Parameter(Mandatory=$true)][string]$ArtifactsRoot, # Root folder of U-SQL project build output
   [Parameter(Mandatory=$false)][string]$DestinationFolder = "USQLScriptSource" # Destination folder in ADLS
)

Function UploadResources()
{
   Write-Host "************************************************************************"
   Write-Host "Uploading files to $ADLSName"
   Write-Host "***********************************************************************"

   $usqlScripts = GetUsqlFiles

   $files = @(get-childitem $usqlScripts -recurse)
   foreach($file in $files)
   {
      Write-Host "Uploading file: $($file.Name)"
      Import-AzDataLakeStoreItem -AccountName $ADLSName -Path $file.FullName -Destination "/$(Join-Path $DestinationFolder $file)" -Force
   }
}

function Unzip($USQLPackfile, $UnzipOutput)
{
   $USQLPackfileZip = Rename-Item -Path $USQLPackfile -NewName $([System.IO.Path]::ChangeExtension($USQLPackfile, ".zip")) -Force -PassThru
   Expand-Archive -Path $USQLPackfileZip -DestinationPath $UnzipOutput -Force
   Rename-Item -Path $USQLPackfileZip -NewName $([System.IO.Path]::ChangeExtension($USQLPackfileZip, ".usqlpack")) -Force
}

Function GetUsqlFiles()
{

   $USQLPackfiles = Get-ChildItem -Path $ArtifactsRoot -Include *.usqlpack -File -Recurse -ErrorAction SilentlyContinue

   $UnzipOutput = Join-Path $ArtifactsRoot -ChildPath "UnzipUSQLScripts"

   foreach ($USQLPackfile in $USQLPackfiles)
   {
      Unzip $USQLPackfile $UnzipOutput
   }

   return Get-ChildItem -Path $UnzipOutput -Include *.usql -File -Recurse -ErrorAction SilentlyContinue
}

UploadResources

CI/CD pro databázi U-SQL

Nástroje Azure Data Lake pro Visual Studio poskytuje šablony projektů databáze U-SQL, které vám pomůžou vyvíjet, spravovat a nasazovat databáze U-SQL. Přečtěte si další informace o projektu databáze U-SQL.

Sestavení projektu databáze U-SQL

Získání balíčku NuGet

NÁSTROJ MSBuild neposkytuje integrovanou podporu pro databázové projekty U-SQL. Pokud chcete tuto možnost získat, musíte do balíčku NuGet Microsoft.Azure.DataLake.USQL.SDK přidat odkaz na vaše řešení, který přidá požadovanou službu jazyka.

Pokud chcete přidat odkaz na balíček NuGet, klikněte pravým tlačítkem na řešení v sadě Visual Studio Průzkumník řešení. Zvolte Spravovat balíčky NuGet. Pak vyhledejte a nainstalujte balíček NuGet. Nebo můžete do složky řešení přidat soubor s názvempackages.config a vložit do něj následující obsah:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>

Sestavení databázového projektu U-SQL pomocí příkazového řádku NÁSTROJE MSBuild

Pokud chcete sestavit projekt databáze U-SQL, zavolejte standardní příkazový řádek MSBuild a jako další argument předejte odkaz na balíček NuGet sady U-SQL SDK. Prohlédněte si následující příklad:

msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime

Argument USQLSDKPath=<U-SQL Nuget package>\build\runtime odkazuje na instalační cestu balíčku NuGet pro službu jazyka U-SQL.

Průběžná integrace s využitím Azure Pipelines

Kromě příkazového řádku můžete k vytváření databázových projektů U-SQL v Azure Pipelines použít visual Studio Build nebo úlohu MSBuild. Pokud chcete nastavit úlohu sestavení, nezapomeňte do kanálu sestavení přidat dva úkoly: úlohu obnovení NuGet a úlohu MSBuild.

Úloha MSBuild CI/CD pro projekt U-SQL

  1. Přidáním úlohy obnovení NuGet získáte balíček NuGet odkazovaný na řešení, který obsahuje Azure.DataLake.USQL.SDK, aby nástroj MSBuild mohl najít cíle jazyka U-SQL. Pokud chcete použít ukázku argumentů NÁSTROJE MSBuild přímo v kroku 2, nastavte rozšířený>cílový adresář na $(Build.SourcesDirectory)/packages hodnotu .

    Úloha NuGet CI/CD pro projekt U-SQL

  2. Nastavte argumenty NÁSTROJE MSBuild v nástrojích sestavení sady Visual Studio nebo v úloze NÁSTROJE MSBuild, jak je znázorněno v následujícím příkladu. Nebo můžete pro tyto argumenty definovat proměnné v kanálu sestavení Azure Pipelines.

    Definování proměnných NÁSTROJE MSBuild CI/CD pro databázový projekt U-SQL

    /p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
    

Výstup sestavení projektu databáze U-SQL

Výstupem sestavení pro projekt databáze U-SQL je balíček nasazení databáze U-SQL s názvem s příponou .usqldbpack. Balíček .usqldbpack je soubor zip, který obsahuje všechny příkazy DDL v jednom skriptu U-SQL ve složce DDL. Obsahuje všechny knihovny DLL a další soubory pro sestavení v dočasné složce.

Testování funkcí s hodnotou tabulky a uložených procedur

Přidání testovacích případů pro funkce s hodnotou tabulky a uložené procedury přímo není v současné době podporováno. Alternativním řešením je vytvořit projekt U-SQL, který obsahuje skripty U-SQL, které tyto funkce volají a zapisují pro ně testovací případy. Pomocí následujících kroků nastavte testovací případy pro funkce s hodnotou tabulky a uložené procedury definované v projektu databáze U-SQL:

  1. Vytvořte projekt U-SQL pro účely testování a pište skripty U-SQL, které volají funkce s hodnotou tabulky a uložené procedury.

  2. Přidejte odkaz na databázi do projektu U-SQL. Pokud chcete získat funkci s hodnotou tabulky a definici uložené procedury, musíte odkazovat na databázový projekt, který obsahuje příkaz DDL. Přečtěte si další informace o odkazech na databáze.

  3. Přidejte testovací případy pro skripty U-SQL, které volají funkce s hodnotou tabulky a uložené procedury. Zjistěte, jak přidat testovací případy pro skripty U-SQL.

Nasazení databáze U-SQL prostřednictvím Azure Pipelines

PackageDeploymentTool.exe poskytuje programovací rozhraní a rozhraní příkazového řádku, která pomáhají nasadit balíčky nasazení databáze U-SQL , .usqldbpack. Sada SDK je součástí balíčku NuGet sady U-SQL SDK, který se nachází na adrese build/runtime/PackageDeploymentTool.exe. Pomocí nástroje PackageDeploymentTool.exemůžete nasadit databáze U-SQL do účtů Azure Data Lake Analytics i místních účtů.

Poznámka

Podpora příkazového řádku PowerShellu a úloha verze Azure Pipelines pro nasazení databáze U-SQL momentálně čeká na vyřízení.

Pomocí následujících kroků nastavte úlohu nasazení databáze v Azure Pipelines:

  1. Přidejte úlohu skriptu PowerShellu do kanálu sestavení nebo verze a spusťte následující skript PowerShellu. Tato úloha pomáhá získat závislosti sady Azure SDK pro PackageDeploymentTool.exe a PackageDeploymentTool.exe. Můžete nastavit parametry -AzureSDK a -DBDeploymentTool a načíst závislosti a nástroj nasazení do konkrétních složek. V kroku 2 předejte cestu PackageDeploymentTool.exe-AzureSDK do jako parametr -AzureSDKPath.

    <#
       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
    
  2. Přidejte úlohu příkazového řádku do kanálu sestavení nebo verze a vyplňte skript voláním PackageDeploymentTool.exepříkazu . PackageDeploymentTool.exe se nachází ve složce definované $DBDeploymentTool . Ukázkový skript je následující:

    • Místní nasazení databáze U-SQL:

      PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>
      
    • Použití režimu interaktivního ověřování k nasazení databáze U-SQL do účtu 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
      
    • K nasazení databáze U-SQL do účtu Azure Data Lake Analytics použijte ověřování tajných klíčů:

      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>
      
    • K nasazení databáze U-SQL do účtu Azure Data Lake Analytics použijte ověřování certFile:

      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>
      

popisy parametrů PackageDeploymentTool.exe

Běžné parametry

Parametr Popis Výchozí hodnota Vyžadováno
Balíček Cesta k balíčku nasazení databáze U-SQL, který se má nasadit. null true
Databáze Název databáze, do které se má nasadit nebo vytvořit. master false (nepravda)
Logfile Cesta k souboru pro protokolování. Výchozí hodnota je standardní (konzola). null false (nepravda)
LogLevel Úroveň protokolu: Podrobné, Normální, Upozornění nebo Chyba. LogLevel.Normal false (nepravda)

Parametr pro místní nasazení

Parametr Popis Výchozí hodnota Vyžadováno
DataRoot Cesta k místní kořenové složce dat. null true

Parametry nasazení azure Data Lake Analytics

Parametr Popis Výchozí hodnota Vyžadováno
Účet Určuje, do kterého účtu Azure Data Lake Analytics se má nasadit podle názvu účtu. null true
ResourceGroup Název skupiny prostředků Azure pro účet Azure Data Lake Analytics. null true
SubscriptionId ID předplatného Azure pro účet Azure Data Lake Analytics. null true
Tenant Název tenanta je název Microsoft Entra domény. Najdete ho na stránce správy předplatného v Azure Portal. null true
AzureSDKPath Cesta k vyhledávání závislých sestavení v sadě Azure SDK. null true
Interaktivní Určuje, jestli se má k ověřování používat interaktivní režim. false (nepravda) false (nepravda)
ClientId MICROSOFT ENTRA ID aplikace požadované pro neinteraktivní ověřování. null Vyžaduje se pro neinteraktivní ověřování.
Tajný kód Tajný kód nebo heslo pro neinteraktivní ověřování. Měl by se používat pouze v důvěryhodném a zabezpečeném prostředí. null Vyžaduje se pro neinteraktivní ověřování, jinak použijte SecreteFile.
Soubor tajných kódů Soubor uloží tajný kód nebo heslo pro neinteraktivní ověřování. Ujistěte se, že je čitelný jenom pro aktuálního uživatele. null Vyžaduje se pro neinteraktivní ověřování, jinak použijte tajný kód.
Soubor certifikátu Soubor uloží certifikaci X.509 pro neinteraktivní ověřování. Ve výchozím nastavení se používá ověřování pomocí tajného klíče klienta. null false (nepravda)
JobPrefix Předpona pro nasazení databáze úlohy U-SQL DDL. Deploy_ + DateTime.Now false (nepravda)

Další kroky