Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как настроить конвейер непрерывной интеграции и развертывания (CI/CD) для заданий U-SQL и баз данных U-SQL.
Это важно
Azure Data Lake Analytics вышел из эксплуатации 29 февраля 2024 года. Дополнительные сведения см. в этом объявлении.
Для аналитики данных ваша организация может использовать Azure Synapse Analytics или Microsoft Fabric.
Замечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.
Использование CI/CD для заданий U-SQL
Средства Azure Data Lake для Visual Studio предоставляют тип проекта U-SQL, который помогает упорядочивать сценарии U-SQL. Использование проекта U-SQL для управления кодом U-SQL упрощает дальнейшие сценарии CI/CD.
Создание проекта U-SQL
Проект U-SQL можно создать с помощью ядра сборки Майкрософт (MSBuild), передав соответствующие параметры. Выполните действия, описанные в этой статье, чтобы настроить процесс сборки для проекта U-SQL.
Миграция проекта
Перед настройкой задачи сборки для проекта U-SQL убедитесь, что у вас установлена последняя версия проекта U-SQL. Откройте файл проекта U-SQL в редакторе и убедитесь, что у вас есть следующие элементы импорта:
<!-- 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')" />
Если нет, у вас есть два варианта переноса проекта:
- Вариант 1. Измените старый элемент импорта на предыдущий.
- Вариант 2. Откройте старый проект в Azure Data Lake Tools для Visual Studio. Используйте версию новее чем 2.3.3000.0. Старый шаблон проекта будет автоматически обновлен до последней версии. Новые проекты, созданные с версиями более 2.3.3000.0, используют новый шаблон.
Загрузите NuGet
MSBuild не предоставляет встроенную поддержку проектов U-SQL. Чтобы получить эту поддержку, необходимо добавить ссылку на решение в пакет NuGet Microsoft.Azure.DataLake.USQL.SDK , который добавляет требуемую языковую службу.
Чтобы добавить ссылку на пакет NuGet, щелкните правой кнопкой мыши решение в обозревателе решений Visual Studio и выберите пункт "Управление пакетами NuGet". Вы также можете добавить файл, вызываемый packages.config
в папку решения, и поместить в него следующее содержимое:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
Управление ссылками на базу данных U-SQL
Сценарии U-SQL в проекте U-SQL могут содержать инструкции запросов для объектов базы данных U-SQL. В этом случае необходимо ссылаться на соответствующий проект базы данных U-SQL, который включает определение объектов перед сборкой проекта U-SQL. Например, когда вы выполняете запрос к таблице U-SQL или ссылаетесь на сборку.
Дополнительные сведения о проекте базы данных U-SQL.
Замечание
Инструкция DROP может вызвать случайное удаление. Чтобы включить инструкцию DROP, необходимо явно указать аргументы MSBuild. AllowDropStatement включает операцию DROP, не связанную с данными, например удаление сборки и удаление табличной функции. AllowDataDropStatement включает операцию удаления данных, такую как удаление таблицы и схемы. Перед использованием AllowDataDropStatement необходимо сначала включить AllowDropStatement.
Создание проекта U-SQL с помощью командной строки MSBuild
Сначала перенесите проект и получите пакет NuGet. Затем вызовите стандартную командную строку MSBuild со следующими аргументами, чтобы создать проект 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
Определение и значения аргументов приведены следующим образом:
USQLSDKPath=<Пакет Nuget U-SQL>\build\rнезавременным временем. Этот параметр ссылается на путь установки пакета NuGet для языковой службы U-SQL.
USQLTargetType=Merge или SyntaxCheck:
Слияние. Режим слияния компилирует файлы программной части. Примерами являются .cs, .py и R-файлы . Встраивается пользовательская библиотека кода непосредственно в скрипт U-SQL. Примерами являются двоичный файл dll, код Python или R.
СинтаксисCheck. Режим синтаксиса сначала объединяет файлы кода программной части в скрипт U-SQL. Затем он компилирует скрипт U-SQL для проверки кода.
DataRoot=<Путь> DataRoot. DataRoot требуется только для режима проверки синтаксиса. При сборке скрипта в режиме SyntaxCheck MSBuild проверяет ссылки на объекты базы данных в скрипте. Перед сборкой настройте соответствующую локальную среду, содержащую ссылающиеся объекты из базы данных U-SQL в папке DataRoot компьютера сборки. Вы также можете управлять этими зависимостями базы данных, ссылаясь на проект базы данных U-SQL. MSBuild проверяет только ссылки на объекты базы данных, а не файлы.
EnableDeployment=true или false. EnableDeployment указывает, разрешено ли развертывать ссылочные базы данных U-SQL во время процесса сборки. Если вы ссылаетесь на проект базы данных U-SQL и используете объекты базы данных в скрипте U-SQL, задайте для этого параметра значение true.
Непрерывная интеграция с помощью Azure Pipelines
Помимо командной строки, вы также можете использовать задачу Visual Studio Build или MSBuild для создания проектов U-SQL в Azure Pipelines. Чтобы настроить конвейер сборки, обязательно добавьте две задачи в конвейер сборки: задачу восстановления NuGet и задачу MSBuild.
Добавьте задачу восстановления NuGet, чтобы получить пакет NuGet, на который ссылается решение
Azure.DataLake.USQL.SDK
, чтобы MSBuild мог найти цели языка U-SQL. Задайте Advanced>каталог назначения в$(Build.SourcesDirectory)/packages
, если вы хотите использовать образец аргументов MSBuild непосредственно в шаге 2.Задайте аргументы MSBuild в средствах сборки Visual Studio или в задаче MSBuild, как показано в следующем примере. Можно также определить переменные для этих аргументов в конвейере сборки Azure Pipelines.
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime /p:USQLTargetType=SyntaxCheck /p:DataRoot=$(Build.SourcesDirectory) /p:EnableDeployment=true
Выходные данные сборки проекта U-SQL
После запуска сборки все скрипты в проекте U-SQL создаются и выводятся в ZIP-файл с именем USQLProjectName.usqlpack
. Структура папок в вашем проекте сохраняется в архивированном выходном файле сборки.
Замечание
Файлы программной части для каждого скрипта U-SQL будут объединены в виде встроенной инструкции с выходными данными сборки скрипта.
Тестирование скриптов U-SQL
Azure Data Lake предоставляет тестовые проекты для сценариев U-SQL и UDO/UDAG/UDF C#:
Узнайте, как добавлять тестовые случаи для сценариев U-SQL и расширенный код C#
Узнайте, как выполнять тестовые случаи в Azure Pipelines.
Развертывание задания U-SQL
После проверки кода с помощью процесса сборки и тестирования можно отправлять задания U-SQL непосредственно из Azure Pipelines через задачу Azure PowerShell. Вы также можете развернуть скрипт в Azure Data Lake Store или хранилище BLOB-объектов Azure и запустить запланированные задания с помощью Фабрики данных Azure.
Отправка заданий U-SQL с помощью Azure Pipelines
Выходные данные сборки проекта U-SQL — это ZIP-файл с именем USQLProjectName.usqlpack. Zip-файл содержит все скрипты U-SQL в проекте. Задачу Azure PowerShell можно использовать в конвейерах со следующим примером скрипта PowerShell для отправки заданий U-SQL непосредственно из 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
Замечание
Команды: Submit-AzDataLakeAnalyticsJob
и Wait-AzDataLakeAnalyticsJob
являются командлетами Azure PowerShell для Azure Data Lake Analytics в рамках платформы Azure Resource Manager. Вам понадобится рабочая станция с установленным Azure PowerShell. Дополнительные команды и примеры см. в списке команд .
Развертывание заданий U-SQL с помощью фабрики данных Azure
Задания U-SQL можно отправлять непосредственно из Azure Pipelines. Вы также можете отправить встроенные скрипты в Azure Data Lake Store или хранилище BLOB-объектов Azure и запустить запланированные задания с помощью фабрики данных Azure.
Используйте задачу Azure PowerShell в Azure Pipelines со следующим примером скрипта PowerShell для отправки скриптов U-SQL в учетную запись 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 для базы данных U-SQL
Средства Azure Data Lake для Visual Studio предоставляют шаблоны проектов базы данных U-SQL, которые помогают разрабатывать, управлять и развертывать базы данных U-SQL. Дополнительные сведения о проекте базы данных U-SQL.
Создание проекта базы данных U-SQL
Получение пакета NuGet
MSBuild не поддерживает встроенные проекты базы данных U-SQL. Чтобы получить эту возможность, необходимо добавить ссылку на решение в пакет NuGet Microsoft.Azure.DataLake.USQL.SDK , который добавляет необходимую языковую службу.
Чтобы добавить ссылку на пакет NuGet, щелкните правой кнопкой мыши решение в обозревателе решений Visual Studio. Выберите Управление пакетами NuGet. Затем найдите и установите пакет NuGet. Кроме того, можно добавить файл с именемpackages.config в папку решения и поместить в него следующее содержимое:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
Создание проекта базы данных U-SQL с помощью командной строки MSBuild
Чтобы создать проект базы данных U-SQL, вызовите стандартную командную строку MSBuild и передайте ссылку на пакет NuGet для U-SQL в качестве другого аргумента. См. следующий пример.
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
Аргумент USQLSDKPath=<U-SQL Nuget package>\build\runtime
ссылается на путь установки пакета NuGet для языковой службы U-SQL.
Непрерывная интеграция с Azure Pipelines
Помимо командной строки можно использовать Visual Studio Build или задачу MSBuild для создания проектов базы данных U-SQL в Azure Pipelines. Чтобы настроить задачу сборки, обязательно добавьте две задачи в конвейер сборки: задачу восстановления NuGet и задачу MSBuild.
Добавьте задачу восстановления NuGet, чтобы получить пакет NuGet, ссылку на который даёт решение и который включает в себя
Azure.DataLake.USQL.SDK
, чтобы MSBuild мог найти цели языка U-SQL. Установите для Advanced>Destination directory значение$(Build.SourcesDirectory)/packages
, если вы хотите использовать пример аргументов MSBuild непосредственно на шаге 2.Задайте аргументы MSBuild в средствах сборки Visual Studio или в задаче MSBuild, как показано в следующем примере. Можно также определить переменные для этих аргументов в конвейере сборки Azure Pipelines.
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
Выходные данные сборки проекта базы данных U-SQL
Выходные данные сборки для проекта базы данных U-SQL — это пакет развертывания базы данных U-SQL с суффиксом в имени .usqldbpack
. Пакет .usqldbpack
представляет собой ZIP-файл, содержащий все инструкции DDL в одном скрипте U-SQL в папке DDL. Он включает все библиотеки DLL и другие файлы для сборки в папке temp.
Тестирование табличных функций и хранимых процедур
Добавление тестовых вариантов для функций с табличным значением и хранимых процедур напрямую не поддерживается. В качестве обходного решения можно создать проект U-SQL с скриптами U-SQL, которые вызывают эти функции и записывают тестовые варианты для них. Выполните следующие действия, чтобы настроить тестовые случаи для табличных функций и хранимых процедур, определенных в проекте базы данных U-SQL:
Создайте проект U-SQL для тестовых целей и напишите скрипты U-SQL, вызывающие табличные функции и хранимые процедуры.
Добавьте ссылку на базу данных в проект U-SQL. Чтобы получить табличное значение функции и определение хранимой процедуры, необходимо ссылаться на проект базы данных, содержащий инструкцию DDL. Дополнительные сведения о ссылках на базу данных.
Добавьте тестовые случаи для скриптов U-SQL, которые вызывают табличные функции и хранимые процедуры. Узнайте, как добавлять тестовые случаи для сценариев U-SQL.
Развертывание базы данных U-SQL с помощью Azure Pipelines
PackageDeploymentTool.exe
предоставляет интерфейсы программирования и командной строки, которые помогают развертывать пакеты развертывания базы данных U-SQL, usqldbpack. Пакет SDK входит в пакет NuGet для U-SQL, расположенный в build/runtime/PackageDeploymentTool.exe. С помощью PackageDeploymentTool.exe
можно развернуть базы данных U-SQL как в Azure Data Lake Analytics, так и в локальных учетных записях.
Замечание
Поддержка командной строки PowerShell и поддержка задач выпуска Azure Pipelines для развертывания базы данных U-SQL в настоящее время не доступна.
Выполните следующие действия, чтобы настроить задачу развертывания базы данных в Azure Pipelines:
Добавьте задачу скрипта PowerShell в конвейер сборки или выпуска и выполните следующий скрипт PowerShell. Эта задача помогает получить зависимости SDK для
PackageDeploymentTool.exe
иPackageDeploymentTool.exe
в Azure. Параметры -AzureSDK и -DBDeploymentTool можно задать для загрузки зависимостей и средства развертывания в определенные папки. Передайте путь к -AzureSDK вPackageDeploymentTool.exe
в виде параметра -AzureSDKPath на этапе 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
Добавьте задачуCommand-Line в конвейер сборки или выпуска и заполните скрипт путем вызова
PackageDeploymentTool.exe
.PackageDeploymentTool.exe
находится в определенной папке $DBDeploymentTool . Пример скрипта выглядит следующим образом:Развертывание базы данных U-SQL локально:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>
Используйте интерактивный режим проверки подлинности для развертывания базы данных U-SQL в учетной записи 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-SQL в учетной записи 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 для развертывания базы данных U-SQL в учетной записи 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>
описания параметров PackageDeploymentTool.exe
Общие параметры
Параметр | Описание | Значение по умолчанию | Обязательно |
---|---|---|---|
Пакет | Путь к пакету для развертывания базы данных U-SQL. | нулевой | правда |
База данных | Имя базы данных для развертывания или создания. | мастер | неправда |
LogFile | Путь к файлу для ведения журнала. По умолчанию используется стандартная версия (консоль). | нулевой | неправда |
LogLevel | Уровень журнала: подробный, обычный, предупреждение или ошибка. | LogLevel.Normal | неправда |
Параметр для локального развертывания
Параметр | Описание | Значение по умолчанию | Обязательно |
---|---|---|---|
DataRoot | Путь к корневой папке локальных данных. | null | правда |
Параметры развертывания Azure Data Lake Analytics
Параметр | Описание | Значение по умолчанию | Обязательно |
---|---|---|---|
Счет | Указывает, на какой учетной записи Azure Data Lake Analytics провести развертывание, используя имя учетной записи. | недействительный | правда |
ResourceGroup | Имя группы ресурсов Azure для учетной записи Azure Data Lake Analytics. | нулевой | правда |
Идентификатор подписки (SubscriptionId) | Идентификатор подписки Azure для учетной записи Azure Data Lake Analytics. | недействительный | правда |
Арендатор | Имя клиента — это доменное имя Microsoft Entra. Найдите его на странице управления подписками на портале Azure. | нулевой | правда |
AzureSDKPath (путь к SDK Azure) | Путь к поиску зависимых сборок в пакете SDK Azure. | пусто | правда |
Интерактивный | Использовать или не использовать интерактивный режим для проверки подлинности. | неправда | неправда |
ClientId | Идентификатор приложения Microsoft Entra, необходимый для неинтерактивной проверки подлинности. | нулевой | Требуется для неинтерактивной проверки подлинности. |
Секрет | Секрет или пароль для неинтерактивной проверки подлинности. Его следует использовать только в надежной и безопасной среде. | нулевой | Требуется для неинтерактивной проверки подлинности, или используйте SecreteFile. |
SecretFile | Файл сохраняет секрет или пароль для неинтерактивной проверки подлинности. Убедитесь, что он доступен только для чтения текущим пользователем. | нулевой | Требуется для неинтерактивной проверки подлинности или использования секрета. |
Файл сертификата | Файл сохраняет сертификацию X.509 для неинтерактивной проверки подлинности. По умолчанию используется проверка подлинности секрета клиента. | недействительный | неправда |
ПрефиксРабота | Префикс для развертывания базы данных в задании U-SQL DDL. | Deploy_ + DateTime.Now | неправда |