Поделиться через


New-AzBatchTask

Создает задачу пакетной службы в задании.

Синтаксис

New-AzBatchTask
   -JobId <String>
   -Id <String>
   [-DisplayName <String>]
   -CommandLine <String>
   [-ResourceFiles <PSResourceFile[]>]
   [-EnvironmentSettings <IDictionary>]
   [-AuthenticationTokenSettings <PSAuthenticationTokenSettings>]
   [-UserIdentity <PSUserIdentity>]
   [-AffinityInformation <PSAffinityInformation>]
   [-Constraints <PSTaskConstraints>]
   [-MultiInstanceSettings <PSMultiInstanceSettings>]
   [-DependsOn <TaskDependencies>]
   [-ApplicationPackageReferences <PSApplicationPackageReference[]>]
   [-OutputFile <PSOutputFile[]>]
   [-ExitConditions <PSExitConditions>]
   [-ContainerSettings <PSTaskContainerSettings>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzBatchTask
   -JobId <String>
   [-Tasks <PSCloudTask[]>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzBatchTask
   [-Job <PSCloudJob>]
   [-Tasks <PSCloudTask[]>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzBatchTask
   [-Job <PSCloudJob>]
   -Id <String>
   [-DisplayName <String>]
   -CommandLine <String>
   [-ResourceFiles <PSResourceFile[]>]
   [-EnvironmentSettings <IDictionary>]
   [-AuthenticationTokenSettings <PSAuthenticationTokenSettings>]
   [-UserIdentity <PSUserIdentity>]
   [-AffinityInformation <PSAffinityInformation>]
   [-Constraints <PSTaskConstraints>]
   [-MultiInstanceSettings <PSMultiInstanceSettings>]
   [-DependsOn <TaskDependencies>]
   [-ApplicationPackageReferences <PSApplicationPackageReference[]>]
   [-OutputFile <PSOutputFile[]>]
   [-ExitConditions <PSExitConditions>]
   [-ContainerSettings <PSTaskContainerSettings>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Описание

Командлет New-AzBatchTask создает задачу пакетной службы Azure в задании, указанном параметром jobId или параметром job.

Примеры

Пример 1. Создание задачи пакетной службы

New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -BatchContext $Context

Эта команда создает задачу с идентификатором Task23 в задании с идентификатором job-000001. Задача выполняет указанную команду. Используйте командлет get-AzBatchAccountKey , чтобы назначить контекст переменной $Context.

Пример 2. Создание задачи пакетной службы

$autoUser = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoUserSpecification -ArgumentList @("Task", "Admin")
$userIdentity = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserIdentity $autoUser
Get-AzBatchJob -Id "Job-000001" -BatchContext $Context | New-AzBatchTask -Id "Task26" -CommandLine "cmd /c echo hello > newFile.txt" -UserIdentity $userIdentity -BatchContext $Context

Эта команда получает задание пакетной службы с идентификатором задания 000001 с помощью командлета Get-AzBatchJob. Команда передает это задание текущему командлету с помощью оператора конвейера. Команда создает задачу с идентификатором Task26 в этом задании. Задача выполняет указанную команду с помощью повышенных разрешений.

Пример 3. Добавление коллекции задач в указанное задание с помощью конвейера

$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
$Task01 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task23", "cmd /c dir /s")
$Task02 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task24", "cmd /c dir /s")
Get-AzBatchJob -Id "Job-000001" -BatchContext $Context | New-AzBatchTask -Tasks @($Task01, $Task02) -BatchContext $Context

Первая команда создает ссылку на объект для ключей учетной записи пакетной службы с именем ContosoBatchAccount с помощью Get-AzBatchAccountKey. Команда сохраняет ссылку на этот объект в переменной $Context. Следующие две команды создают объекты PSCloudTask с помощью командлета New-Object. Команды хранят задачи в переменных $Task 01 и $Task 02. Последняя команда получает пакетное задание с идентификатором job-000001 с помощью Get-AzBatchJob. Затем команда передает это задание текущему командлету с помощью оператора конвейера. Команда добавляет коллекцию задач в этом задании. Команда использует контекст, хранящийся в $Context.

Пример 4. Добавление коллекции задач в указанное задание

$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
$Task01 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task23", "cmd /c dir /s")
$Task02 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task24", "cmd /c dir /s")
New-AzBatchTask -JobId "Job-000001" -Tasks @($Task01, $Task02) -BatchContext $Context

Первая команда создает ссылку на объект для ключей учетной записи пакетной службы с именем ContosoBatchAccount с помощью Get-AzBatchAccountKey. Команда сохраняет ссылку на этот объект в переменной $Context. Следующие две команды создают объекты PSCloudTask с помощью командлета New-Object. Команды хранят задачи в переменных $Task 01 и $Task 02. Последняя команда добавляет задачи, хранящиеся в $Task 01 и $Task 02 в задании с идентификатором job-000001.

Пример 5. Добавление задачи с выходными файлами

New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -BatchContext $Context
$blobContainerDestination = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFileBlobContainerDestination "https://myaccount.blob.core.windows.net/sascontainer?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D"
$destination = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFileDestination $blobContainerDestination
$uploadOptions = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFileUploadOptions "TaskSuccess"
$outputFile = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFile "*.txt", $blobContainerDestination, $uploadOptions

New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -OutputFile $outputFile -BatchContext $Context

Пример 6. Добавление задачи с параметрами маркера проверки подлинности

$authSettings = New-Object Microsoft.Azure.Commands.Batch.Models.PSAuthenticationTokenSettings
$authSettings.Access = "Job"
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -AuthenticationTokenSettings $authSettings -BatchContext $Context

Пример 7. Добавление задачи, которая выполняется в контейнере

$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -ContainerSettings (New-Object Microsoft.Azure.Commands.Batch.Models.PSTaskContainerSettings "containerImageName") -BatchContext $Context

Параметры

-AffinityInformation

Указывает указание локальности, которое служба пакетной службы использует для выбора узла, на котором выполняется задача.

Тип:PSAffinityInformation
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ApplicationPackageReferences

Тип:PSApplicationPackageReference[]
Aliases:ApplicationPackageReference
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AuthenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это задано, пакетная служба предоставляет задачу маркером проверки подлинности, который можно использовать для проверки подлинности операций пакетной службы, не требуя ключа доступа к учетной записи. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с помощью маркера, зависят от параметров. Например, задача может запрашивать разрешения задания, чтобы добавить другие задачи в задание, или проверить состояние задания или других задач.

Тип:PSAuthenticationTokenSettings
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-BatchContext

Указывает экземпляр BatchAccountContext, используемый этим командлетом для взаимодействия со службой пакетной службы. Если вы используете командлет Get-AzBatchAccount для получения batchAccountContext, при взаимодействии со службой пакетной службы будет использоваться проверка подлинности Microsoft Entra. Чтобы использовать проверку подлинности с общим ключом, используйте командлет Get-AzBatchAccountKey, чтобы получить объект BatchAccountContext с заполненными ключами доступа. При использовании проверки подлинности общего ключа первичный ключ доступа используется по умолчанию. Чтобы изменить используемый ключ, задайте свойство BatchAccountContext.KeyInUse.

Тип:BatchAccountContext
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-CommandLine

Указывает командную строку для задачи.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Constraints

Указывает ограничения выполнения, которые применяются к этой задаче.

Тип:PSTaskConstraints
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ContainerSettings

Параметры контейнера, в котором выполняется задача. Если пул, который будет запускать эту задачу, имеет набор containerConfiguration, это также должно быть установлено. Если пул, который будет выполнять эту задачу, не имеет набора containerConfiguration, это не должно быть задано. При указании все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корнем каталогов пакетной службы Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере.

Тип:PSTaskContainerSettings
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.

Тип:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DependsOn

Указывает, что задача зависит от других задач. Задача не будет запланирована до тех пор, пока все задачи, зависящие от них успешно завершены.

Тип:TaskDependencies
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisplayName

Указывает отображаемое имя задачи.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-EnvironmentSettings

Указывает параметры среды в виде пар "ключ-значение", которые этот командлет добавляет в задачу. Ключ — это имя параметра среды. Значением является параметр среды.

Тип:IDictionary
Aliases:EnvironmentSetting
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ExitConditions

Тип:PSExitConditions
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Id

Указывает идентификатор задачи.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Job

Указывает задание, в котором этот командлет создает задачу. Чтобы получить объект PSCloudJob , используйте командлет Get-AzBatchJob.

Тип:PSCloudJob
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-JobId

Указывает идентификатор задания, в котором этот командлет создает задачу.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MultiInstanceSettings

Указывает сведения о выполнении задачи с несколькими экземплярами.

Тип:PSMultiInstanceSettings
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OutputFile

Возвращает или задает список файлов, которые служба пакетной службы отправит из вычислительного узла после выполнения командной строки. Для задач с несколькими экземплярами файлы будут отправляться только с вычислительного узла, на котором выполняется основная задача.

Тип:PSOutputFile[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ResourceFiles

Указывает файлы ресурсов в виде пар "ключ-значение", необходимых задаче. Ключ — это путь к файлу ресурсов. Значением является источник BLOB-объекта файла ресурсов.

Тип:PSResourceFile[]
Aliases:ResourceFile
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Tasks

Указывает коллекцию добавляемых задач. Каждая задача должна иметь уникальный идентификатор.

Тип:PSCloudTask[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UserIdentity

Удостоверение пользователя, под которым выполняется задача.

Тип:PSUserIdentity
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

PSCloudJob

BatchAccountContext

Выходные данные

Void