다음을 통해 공유


New-AzBatchTask

작업 아래에 Batch 작업을 만듭니다.

구문

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

New-AzBatchTask cmdlet은 JobId 매개 변수 또는 작업 매개 변수로 지정된 작업 아래에 Azure Batch 작업을 만듭니다.

예제

예제 1: Batch 작업 만들기

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

이 명령은 ID Job-000001이 있는 작업 아래에 ID Task23이 있는 작업을 만듭니다. 태스크는 지정된 명령을 실행합니다. Get-AzBatchAccountKey cmdlet을 사용하여 $Context 변수에 컨텍스트를 할당합니다.

예제 2: Batch 작업 만들기

$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

이 명령은 Get-AzBatchJob cmdlet을 사용하여 ID Job-0000001이 있는 Batch 작업을 가져옵니다. 이 명령은 파이프라인 연산자를 사용하여 해당 작업을 현재 cmdlet에 전달합니다. 이 명령은 해당 작업 아래에 ID 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

첫 번째 명령은 Get-AzBatchAccountKey를 사용하여 ContosoBatchAccount라는 일괄 처리 계정에 대한 계정 키에 대한 개체 참조를 만듭니다. 이 명령은 이 개체 참조를 $Context 변수에 저장합니다. 다음 두 명령은 New-Object cmdlet을 사용하여 PSCloudTask 개체를 만듭니다. 명령은 $Task 01 및 $Task 02 변수에 작업을 저장합니다. 최종 명령은 Get-AzBatchJob을 사용하여 ID Job-0000001이 있는 Batch 작업을 가져옵니다. 그런 다음, 이 명령은 파이프라인 연산자를 사용하여 해당 작업을 현재 cmdlet에 전달합니다. 이 명령은 해당 작업 아래에 태스크 컬렉션을 추가합니다. 이 명령은 $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

첫 번째 명령은 Get-AzBatchAccountKey를 사용하여 ContosoBatchAccount라는 일괄 처리 계정에 대한 계정 키에 대한 개체 참조를 만듭니다. 이 명령은 이 개체 참조를 $Context 변수에 저장합니다. 다음 두 명령은 New-Object cmdlet을 사용하여 PSCloudTask 개체를 만듭니다. 명령은 $Task 01 및 $Task 02 변수에 작업을 저장합니다. 마지막 명령은 ID Job-000001이 있는 작업 아래에 $Task 01 및 $Task 02에 저장된 작업을 추가합니다.

예제 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

Batch 서비스에서 작업을 실행할 노드를 선택하는 데 사용하는 지역성 힌트를 지정합니다.

형식:PSAffinityInformation
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ApplicationPackageReferences

형식:PSApplicationPackageReference[]
별칭:ApplicationPackageReference
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-AuthenticationTokenSettings

태스크가 Batch 서비스 작업을 수행하는 데 사용할 수 있는 인증 토큰에 대한 설정입니다. 이 설정이 설정되면 Batch 서비스는 계정 액세스 키를 요구하지 않고 Batch 서비스 작업을 인증하는 데 사용할 수 있는 인증 토큰을 태스크에 제공합니다. 토큰은 AZ_BATCH_AUTHENTICATION_TOKEN 환경 변수를 통해 제공됩니다. 토큰을 사용하여 태스크가 수행할 수 있는 작업은 설정에 따라 달라집니다. 예를 들어 태스크는 작업에 다른 작업을 추가하거나 작업 또는 다른 작업의 상태를 확인하기 위해 작업 권한을 요청할 수 있습니다.

형식:PSAuthenticationTokenSettings
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-BatchContext

이 cmdlet이 Batch 서비스와 상호 작용하는 데 사용하는 BatchAccountContext 인스턴스를 지정합니다. Get-AzBatchAccount cmdlet을 사용하여 BatchAccountContext를 가져오는 경우 Batch 서비스와 상호 작용할 때 Microsoft Entra 인증이 사용됩니다. 대신 공유 키 인증을 사용하려면 Get-AzBatchAccountKey cmdlet을 사용하여 액세스 키가 채워진 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 Batch 디렉터리 루트)가 컨테이너에 매핑되고, 모든 작업 환경 변수가 컨테이너에 매핑되고, 태스크 명령줄이 컨테이너에서 실행됩니다.

형식:PSTaskContainerSettings
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

형식:IAzureContextContainer
별칭: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

이 cmdlet이 작업에 추가하는 환경 설정을 키/값 쌍으로 지정합니다. 키는 환경 설정 이름입니다. 값은 환경 설정입니다.

형식:IDictionary
별칭:EnvironmentSetting
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ExitConditions

형식:PSExitConditions
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Id

작업의 ID를 지정합니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Job

이 cmdlet이 작업을 만드는 작업을 지정합니다. PSCloudJob 개체를 가져오려면 Get-AzBatchJob cmdlet을 사용합니다.

형식:PSCloudJob
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-JobId

이 cmdlet이 작업을 만드는 작업의 ID를 지정합니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-MultiInstanceSettings

다중 인스턴스 작업을 실행하는 방법에 대한 정보를 지정합니다.

형식:PSMultiInstanceSettings
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-OutputFile

명령줄을 실행한 후 Batch 서비스가 컴퓨팅 노드에서 업로드할 파일 목록을 가져오거나 설정합니다. 다중 인스턴스 작업의 경우 파일은 주 작업이 실행되는 컴퓨팅 노드에서만 업로드됩니다.

형식:PSOutputFile[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ResourceFiles

작업에 필요한 리소스 파일을 키/값 쌍으로 지정합니다. 키는 리소스 파일 경로입니다. 값은 리소스 파일 Blob 원본입니다.

형식:PSResourceFile[]
별칭:ResourceFile
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Tasks

추가할 작업의 컬렉션을 지정합니다. 각 작업에는 고유한 ID가 있어야 합니다.

형식:PSCloudTask[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UserIdentity

태스크가 실행되는 사용자 ID입니다.

형식:PSUserIdentity
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSCloudJob

BatchAccountContext

출력

Void