Dela via


New-AzBatchTask

Skapar en Batch-uppgift under ett jobb.

Syntax

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

Description

Cmdleten New-AzBatchTask skapar en Azure Batch-uppgift under det jobb som anges av parametern JobId eller parametern Job.

Exempel

Exempel 1: Skapa en Batch-uppgift

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

Det här kommandot skapar en aktivitet som har ID Task23 under jobbet som har ID Job-000001. Uppgiften kör det angivna kommandot. Använd cmdleten Get-AzBatchAccountKey för att tilldela en kontext till variabeln $Context.

Exempel 2: Skapa en Batch-uppgift

$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

Det här kommandot hämtar Batch-jobbet som har ID Job-000001 med hjälp av cmdleten Get-AzBatchJob. Kommandot skickar jobbet till den aktuella cmdleten med hjälp av pipelineoperatorn. Kommandot skapar en aktivitet som har ID Task26 under jobbet. Uppgiften kör det angivna kommandot med utökade behörigheter.

Exempel 3: Lägg till en samling aktiviteter i det angivna jobbet med hjälp av pipelinen

$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

Det första kommandot skapar en objektreferens till kontonycklarna för batchkontot med namnet ContosoBatchAccount med hjälp av Get-AzBatchAccountKey. Kommandot lagrar den här objektreferensen i variabeln $Context. De följande två kommandona skapar PSCloudTask- objekt med hjälp av cmdleten New-Object. Kommandona lagrar uppgifterna i variablerna $Task 01 och $Task 02. Det sista kommandot hämtar Batch-jobbet som har ID Job-000001 med hjälp av Get-AzBatchJob. Sedan skickar kommandot jobbet till den aktuella cmdleten med hjälp av pipelineoperatorn. Kommandot lägger till en samling aktiviteter under det jobbet. Kommandot använder kontexten som lagras i $Context.

Exempel 4: Lägga till en samling aktiviteter i det angivna jobbet

$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

Det första kommandot skapar en objektreferens till kontonycklarna för batchkontot med namnet ContosoBatchAccount med hjälp av Get-AzBatchAccountKey. Kommandot lagrar den här objektreferensen i variabeln $Context. De följande två kommandona skapar PSCloudTask- objekt med hjälp av cmdleten New-Object. Kommandona lagrar uppgifterna i variablerna $Task 01 och $Task 02. Det sista kommandot lägger till de uppgifter som lagras i $Task 01 och $Task 02 under jobbet som har ID-jobbet-000001.

Exempel 5: Lägg till en uppgift med utdatafiler

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

Exempel 6: Lägg till en uppgift med inställningar för autentiseringstoken

$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

Exempel 7: Lägg till en aktivitet som körs i en container

$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

Parametrar

-AffinityInformation

Anger ett locality-tips som Batch-tjänsten använder för att välja en nod som aktiviteten ska köras på.

Typ:PSAffinityInformation
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ApplicationPackageReferences

Typ:PSApplicationPackageReference[]
Alias:ApplicationPackageReference
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-AuthenticationTokenSettings

Inställningarna för en autentiseringstoken som aktiviteten kan använda för att utföra Batch-tjänståtgärder. Om detta anges tillhandahåller Batch-tjänsten uppgiften en autentiseringstoken som kan användas för att autentisera Batch-tjänståtgärder utan att kräva en kontoåtkomstnyckel. Token tillhandahålls via miljövariabeln AZ_BATCH_AUTHENTICATION_TOKEN. Vilka åtgärder som uppgiften kan utföra med hjälp av token beror på inställningarna. En uppgift kan till exempel begära jobbbehörigheter för att lägga till andra aktiviteter i jobbet eller kontrollera status för jobbet eller andra aktiviteter.

Typ:PSAuthenticationTokenSettings
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-BatchContext

Anger BatchAccountContext instans som den här cmdleten använder för att interagera med Batch-tjänsten. Om du använder cmdleten Get-AzBatchAccount för att hämta BatchAccountContext används Microsoft Entra-autentisering när du interagerar med Batch-tjänsten. Om du vill använda autentisering med delad nyckel i stället använder du cmdleten Get-AzBatchAccountKey för att hämta ett BatchAccountContext-objekt med dess åtkomstnycklar ifyllda. När du använder autentisering med delad nyckel används den primära åtkomstnyckeln som standard. Om du vill ändra vilken nyckel som ska användas anger du egenskapen BatchAccountContext.KeyInUse.

Typ:BatchAccountContext
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-CommandLine

Anger kommandoraden för uppgiften.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Constraints

Anger de körningsbegränsningar som gäller för den här uppgiften.

Typ:PSTaskConstraints
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ContainerSettings

Inställningarna för containern som aktiviteten körs under. Om den pool som ska köra den här uppgiften har containerConfiguration inställd måste den också anges. Om poolen som ska köra den här uppgiften inte har containerConfiguration inställd får detta inte anges. När detta anges mappas alla kataloger rekursivt under AZ_BATCH_NODE_ROOT_DIR (roten för Azure Batch-kataloger på noden) till containern, alla aktivitetsmiljövariabler mappas till containern och aktivitetskommandoraden körs i containern.

Typ:PSTaskContainerSettings
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure.

Typ:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DependsOn

Anger att aktiviteten är beroende av andra aktiviteter. Aktiviteten schemaläggs inte förrän alla beroende aktiviteter har slutförts.

Typ:TaskDependencies
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DisplayName

Anger aktivitetens visningsnamn.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-EnvironmentSettings

Anger miljöinställningarna, som nyckel/värde-par, som den här cmdleten lägger till i aktiviteten. Nyckeln är miljöinställningens namn. Värdet är miljöinställningen.

Typ:IDictionary
Alias:EnvironmentSetting
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ExitConditions

Typ:PSExitConditions
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Id

Anger aktivitetens ID.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Job

Anger det jobb under vilket den här cmdleten skapar uppgiften. Om du vill hämta ett PSCloudJob--objekt använder du cmdleten Get-AzBatchJob.

Typ:PSCloudJob
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-JobId

Anger ID för jobbet under vilket den här cmdleten skapar uppgiften.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MultiInstanceSettings

Anger information om hur du kör en aktivitet med flera instanser.

Typ:PSMultiInstanceSettings
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-OutputFile

Hämtar eller anger en lista över filer som Batch-tjänsten ska ladda upp från beräkningsnoden när kommandoraden har körts. För aktiviteter med flera instanser laddas filerna bara upp från beräkningsnoden där den primära aktiviteten körs.

Typ:PSOutputFile[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ResourceFiles

Anger resursfiler som nyckel/värde-par som aktiviteten kräver. Nyckeln är resursfilens sökväg. Värdet är resursfilens blobkälla.

Typ:PSResourceFile[]
Alias:ResourceFile
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Tasks

Anger den samling uppgifter som ska läggas till. Varje uppgift måste ha ett unikt ID.

Typ:PSCloudTask[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UserIdentity

Användaridentiteten som aktiviteten körs under.

Typ:PSUserIdentity
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSCloudJob

BatchAccountContext

Utdata

Void