Jak nastavit kanál 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.

Poznámka

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci 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ý pomáhá organizovat 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 lze vytvořit pomocí nástroje 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

Než nastavíte úlohu sestavení pro projekt U-SQL, ujistěte se, že máte nejnovější verzi projektu U-SQL. V editoru otevřete soubor projektu U-SQL 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í.
  • 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 bude automaticky upgradována na nejnovější verzi. Nové projekty vytvořené s novějšími verzemi než 2.3.3000.0 používají novou šablonu.

Získání NuGetu

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

Pokud chcete přidat odkaz na balíček NuGet, klikněte pravým tlačítkem na řešení v 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 a umístit do něj packages.config 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 mít 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í. Pokud chcete povolit příkaz DROP, musíte explicitně zadat argumenty nástroje MSBuild. Příkaz 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 například vy drop table a drop schema. Před použitím výrazu AllowDataDropStatement musíte povolit příkaz AllowDropStatement.

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

Nejprve migrujte projekt a získejte balíček NuGet. Potom zavolejte standardní příkazový řádek MSBuild s následujícími dalšími argumenty pro 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 a hodnoty argumentů 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říklady jsou soubory .cs, .py a .r. Začáte výslednou uživatelsky definovanou knihovnu kódu do skriptu U-SQL. Příkladem je binární soubor knihovny DLL, Python nebo kód R.

    • SyntaxeZkontrolovat. Režim SyntaxeCheck nejprve sloučí soubory kódu na pozadí do skriptu U-SQL. Pak zkompiluje skript U-SQL pro ověření kódu.

  • DataRoot= <DataRoot path>. DataRoot je potřeba jenom pro režim SyntaxeCheck. Při sestavování skriptu v režimu SyntaxeCheck nástroj MSBuild kontroluje 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 buildového počítače. Tyto závislosti databáze můžete spravovat také odkazem na projekt databáze U-SQL. Nástroj MSBuild kontroluje pouze odkazy na objekty databáze, nikoli soubory.

  • EnableDeployment=true nebo false. EnableDeployment udává, jestli je povolené nasazovat odkazované databáze U-SQL během procesu sestavení. 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.

Kontinuální integrace prostřednictvím Azure Pipelines

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

Úloha 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 , aby nástroj MSBuild mohl najít cíle Azure.DataLake.USQL.SDK jazyka U-SQL. Pokud chcete > použít ukázku argumentů MSBuild přímo v kroku 2, nastavte rozšířený cílový $(Build.SourcesDirectory)/packages adresář na .

    Úloha obnovení NuGet pro projekt U-SQL

  2. Nastavte argumenty MSBuild Visual Studio nástroje sestavení nebo v úkolu 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 Azure Pipelines buildu.

    Definování proměnných CI/CD MSBuildu 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 sestaví všechny skripty v projektu U-SQL a výstup se vytvoří do souboru ZIP s názvem USQLProjectName.usqlpack . Struktura složek v projektu se uchová ve výstupu komprimovaných sestavení.

Poznámka

Soubory kódu 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 testovací projekty pro skripty U-SQL a C# UDO/UDAG/UDF:

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 z Azure Pipelines prostřednictvím Azure PowerShell úlohy. Skript můžete také nasadit do služby Azure Data Lake Store nebo Azure Blob Storage a spouštět 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. Pomocí následujícího ukázkového Azure PowerShell PowerShellu můžete použít úlohu Azure PowerShell v Pipelines k odeslání úloh U-SQL přímo z 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

Poznámka

Příkazy: a Submit-AzDataLakeAnalyticsJob jsou Azure PowerShell rutiny pro Azure Data Lake Analytics v Azure Resource Manager Wait-AzDataLakeAnalyticsJob rozhraní. Budete potřebovat pracovní stanici s nainstalovanou Azure PowerShell počítači. 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 sestavené skripty nahrát do služby 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 databázovém projektu U-SQL.

Sestavení projektu databáze U-SQL

Získání balíčku NuGet

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

Pokud chcete přidat odkaz na balíček NuGet, klikněte pravým tlačítkem na řešení v Visual Studio Průzkumník řešení. Zvolte Spravovat balíčky NuGet. Pak vyhledejte a nainstalujte balíček NuGet. Nebo můžete přidat soubor s názvempackages.config do složky řešení a umístit 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 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 odkazuje USQLSDKPath=<U-SQL Nuget package>\build\runtime 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 sestavení databázových projektů U-SQL Visual Studio sestavení nebo úlohu MSBuild v Azure Pipelines. Pokud chcete nastavit úlohu sestavení, nezapomeňte do kanálu buildu přidat dvě úlohy: úlohu obnovení NuGet a úlohu MSBuild.

Úloha CI/CD MSBuild pro projekt U-SQL

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

    Úloha NuGet CI/CD pro projekt U-SQL

  2. Nastavte argumenty MSBuild Visual Studio nástroje sestavení nebo v úkolu 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 Azure Pipelines buildu.

    Definování proměnných CI/CD MSBuildu pro projekt databáze 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 pro 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í hodnot tabulek a uložených procedur

Přímé přidávání testovacích případů pro funkce s hodnotou tabulky a uložené procedury není v současné době podporováno. Jako alternativní řešení můžete 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 testovací účely a napište skripty U-SQL, které volají funkce a uložené procedury psané tabulkou.

  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 hodnot 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 pro 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.exe můžete nasazovat databáze U-SQL do Azure Data Lake Analytics i místních účtů.

Poznámka

Podpora příkazového řádku PowerShellu a podpora Azure Pipelines úlohy vydání pro nasazení databáze U-SQL aktuálně čeká na vyřízení.

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

  1. Přidejte úlohu powershellového skriptu do kanálu buildu nebo verze a spusťte následující skript PowerShellu. Tato úloha pomáhá získat závislosti sady Azure SDK pro a PackageDeploymentTool.exe PackageDeploymentTool.exe . Můžete nastavit parametry -AzureSDK a -DBDeploymentTool a načíst závislosti a nástroj pro nasazení do konkrétních složek. V kroku 2 předejte cestu -AzureSDK do PackageDeploymentTool.exe parametru -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 v kanálu buildu nebo verze a vyplňte skript voláním PackageDeploymentTool.exe . PackageDeploymentTool.exe se nachází pod definovanou $DBDeploymentTool složky. 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>
      
    • Pomocí režimu interaktivního ověřování nasaďte databázi U-SQL do Azure Data Lake Analytics účtu:

      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
      
    • Pomocí ověřování tajných kódem nasaďte databázi U-SQL do Azure Data Lake Analytics účtu:

      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>
      
    • Pomocí ověřování certFile nasaďte databázi U-SQL do Azure Data Lake Analytics účtu:

      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 parametrů

Běžné parametry

Parametr Popis Výchozí hodnota Vyžadováno
Balíček Cesta k balíčku pro nasazení databáze U-SQL, který se má nasadit. null true
databáze Název databáze, do které se má nasadit nebo která se má 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
Kořenová_složka_dat Cesta ke kořenové složce místních dat. null true

Parametry pro Azure Data Lake Analytics nasazení

Parametr Popis Výchozí hodnota Vyžadováno
Účet Určuje, do Azure Data Lake Analytics se má účet nasadit, podle názvu účtu. null true
ResourceGroup Název skupiny prostředků Azure pro Azure Data Lake Analytics účtu. null true
SubscriptionId ID předplatného Azure pro Azure Data Lake Analytics účet. null true
Tenant Název tenanta je název Azure Active Directory (Azure AD). Najdete ho na stránce správy předplatného v Azure Portal. null true
AzureSDKPath Cesta pro hledání závislých sestavení v sadě Azure SDK null true
Interaktivní Určuje, zda má být pro ověřování použit interaktivní režim. false (nepravda) false (nepravda)
ClientId ID aplikace Azure AD, které je vyžadováno pro neinteraktivní ověřování. null Vyžaduje se pro neinteraktivní ověřování.
Tajný kód Tajný klíč nebo heslo pro neinteraktivní ověřování. Měl by se používat jenom v důvěryhodném a zabezpečeném prostředí. null Vyžaduje se pro neinteraktivní ověřování nebo jinak použít SecreteFile.
SecreteFile Soubor uloží tajný klíč nebo heslo pro neinteraktivní ověřování. Ujistěte se, že je budete moct přečíst jenom aktuální uživatel. null Vyžaduje se pro neinteraktivní ověřování nebo jinak použít tajný klíč.
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 databázové nasazení úlohy DDL U-SQL Deploy_ + DateTime. Now false (nepravda)

Další kroky