Udostępnij za pośrednictwem


New-AzBatchTask

Tworzy zadanie usługi Batch w ramach zadania.

Składnia

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

Opis

Polecenie cmdlet New-AzBatchTask tworzy zadanie usługi Azure Batch w ramach zadania określonego przez parametr JobId lub parametr zadania .

Przykłady

Przykład 1. Tworzenie zadania usługi Batch

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

To polecenie tworzy zadanie o identyfikatorze Task23 w ramach zadania o identyfikatorze Job-000001. Zadanie uruchamia określone polecenie. Użyj polecenia cmdlet Get-AzBatchAccountKey, aby przypisać kontekst do zmiennej $Context.

Przykład 2. Tworzenie zadania usługi 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

To polecenie pobiera zadanie usługi Batch z identyfikatorem Job-000001 za pomocą polecenia cmdlet Get-AzBatchJob . Polecenie przekazuje to zadanie do bieżącego polecenia cmdlet przy użyciu operatora potoku. Polecenie tworzy zadanie o identyfikatorze Task26 w ramach tego zadania. Zadanie uruchamia określone polecenie przy użyciu uprawnień z podwyższonym poziomem uprawnień.

Przykład 3. Dodawanie kolekcji zadań do określonego zadania przy użyciu potoku

$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

Pierwsze polecenie tworzy odwołanie do obiektu do kluczy konta dla konta wsadowego o nazwie ContosoBatchAccount przy użyciu polecenia Get-AzBatchAccountKey. Polecenie przechowuje odwołanie do tego obiektu w zmiennej $Context. Dwa następne polecenia tworzą obiekty PSCloudTask przy użyciu polecenia cmdlet New-Object. Polecenia przechowują zadania w zmiennych $Task 01 i $Task 02. Ostatnie polecenie pobiera zadanie usługi Batch z identyfikatorem Job-000001 za pomocą polecenia Get-AzBatchJob. Następnie polecenie przekazuje to zadanie do bieżącego polecenia cmdlet przy użyciu operatora potoku. Polecenie dodaje kolekcję zadań podrzędnych w ramach tego zadania. Polecenie używa kontekstu przechowywanego w $Context.

Przykład 4. Dodawanie kolekcji zadań do określonego zadania

$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

Pierwsze polecenie tworzy odwołanie do obiektu do kluczy konta dla konta wsadowego o nazwie ContosoBatchAccount przy użyciu polecenia Get-AzBatchAccountKey. Polecenie przechowuje odwołanie do tego obiektu w zmiennej $Context. Dwa następne polecenia tworzą obiekty PSCloudTask przy użyciu polecenia cmdlet New-Object. Polecenia przechowują zadania w zmiennych $Task 01 i $Task 02. Końcowe polecenie dodaje zadania przechowywane w $Task 01 i $Task 02 w ramach zadania o identyfikatorze Job-000001.

Przykład 5. Dodawanie zadania z plikami wyjściowymi

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

Przykład 6. Dodawanie zadania z ustawieniami tokenu uwierzytelniania

$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

Przykład 7. Dodawanie zadania uruchamianego w kontenerze

$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

Parametry

-AffinityInformation

Określa wskazówkę dotyczącą lokalizacji, której usługa Batch używa do wybierania węzła, na którym ma zostać uruchomione zadanie.

Typ:PSAffinityInformation
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ApplicationPackageReferences

Typ:PSApplicationPackageReference[]
Aliasy:ApplicationPackageReference
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-AuthenticationTokenSettings

Ustawienia tokenu uwierzytelniania, którego zadanie może używać do wykonywania operacji usługi Batch. Jeśli ta opcja jest ustawiona, usługa Batch udostępnia zadanie z tokenem uwierzytelniania, który może służyć do uwierzytelniania operacji usługi Batch bez konieczności używania klucza dostępu do konta. Token jest dostarczany za pośrednictwem zmiennej środowiskowej AZ_BATCH_AUTHENTICATION_TOKEN. Operacje, które można wykonać za pomocą tokenu, zależą od ustawień. Na przykład zadanie może żądać uprawnień zadania w celu dodania innych zadań do zadania lub sprawdzenia stanu zadania lub innych zadań.

Typ:PSAuthenticationTokenSettings
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-BatchContext

Określa wystąpienie BatchAccountContext używane przez to polecenie cmdlet do interakcji z usługą Batch. Jeśli użyjesz polecenia cmdlet Get-AzBatchAccount, aby uzyskać element BatchAccountContext, uwierzytelnianie Microsoft Entra będzie używane podczas interakcji z usługą Batch. Aby zamiast tego użyć uwierzytelniania klucza współużytkowanego, użyj polecenia cmdlet Get-AzBatchAccountKey, aby uzyskać obiekt BatchAccountContext z wypełnionymi kluczami dostępu. W przypadku korzystania z uwierzytelniania za pomocą klucza współużytkowanego klucz podstawowy jest używany domyślnie. Aby zmienić klucz do użycia, ustaw właściwość BatchAccountContext.KeyInUse.

Typ:BatchAccountContext
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-CommandLine

Określa wiersz polecenia zadania.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Constraints

Określa ograniczenia wykonywania, które mają zastosowanie do tego zadania.

Typ:PSTaskConstraints
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ContainerSettings

Ustawienia kontenera, w którym jest uruchamiane zadanie. Jeśli pula, która będzie uruchamiać to zadanie, ma ustawioną wartość containerConfiguration, należy to również ustawić. Jeśli pula, która będzie uruchamiać to zadanie, nie ma ustawionego konteneraKonfiguracja, nie może być ustawiona. Po określeniu tego ustawienia wszystkie katalogi cyklicznie poniżej AZ_BATCH_NODE_ROOT_DIR (katalog główny katalogów usługi Azure Batch w węźle) są mapowane do kontenera, wszystkie zmienne środowiskowe zadań są mapowane do kontenera, a wiersz polecenia zadania jest wykonywany w kontenerze.

Typ:PSTaskContainerSettings
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.

Typ:IAzureContextContainer
Aliasy:AzContext, AzureRmContext, AzureCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DependsOn

Określa, że zadanie zależy od innych zadań. Zadanie nie zostanie zaplanowane, dopóki wszystkie zadania zależne nie zostaną ukończone pomyślnie.

Typ:TaskDependencies
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DisplayName

Określa nazwę wyświetlaną zadania.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-EnvironmentSettings

Określa ustawienia środowiska jako pary klucz/wartość, które to polecenie cmdlet dodaje do zadania. Klucz to nazwa ustawienia środowiska. Wartość jest ustawieniem środowiska.

Typ:IDictionary
Aliasy:EnvironmentSetting
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ExitConditions

Typ:PSExitConditions
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Id

Określa identyfikator zadania.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Job

Określa zadanie, w którym to polecenie cmdlet tworzy zadanie. Aby uzyskać obiekt PSCloudJob , użyj polecenia cmdlet Get-AzBatchJob.

Typ:PSCloudJob
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-JobId

Określa identyfikator zadania, w którym to polecenie cmdlet tworzy zadanie.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MultiInstanceSettings

Określa informacje o sposobie uruchamiania zadania z wieloma wystąpieniami.

Typ:PSMultiInstanceSettings
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-OutputFile

Pobiera lub ustawia listę plików, które usługa Batch przekaże z węzła obliczeniowego po uruchomieniu wiersza polecenia. W przypadku zadań z wieloma wystąpieniami pliki zostaną przekazane tylko z węzła obliczeniowego, na którym jest wykonywane zadanie podstawowe.

Typ:PSOutputFile[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ResourceFiles

Określa pliki zasobów jako pary klucz/wartość wymagane przez zadanie. Kluczem jest ścieżka pliku zasobu. Wartość to źródło obiektu blob pliku zasobów.

Typ:PSResourceFile[]
Aliasy:ResourceFile
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Tasks

Określa kolekcję zadań do dodania. Każde zadanie musi mieć unikatowy identyfikator.

Typ:PSCloudTask[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-UserIdentity

Tożsamość użytkownika, w ramach której jest uruchamiane zadanie.

Typ:PSUserIdentity
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

PSCloudJob

BatchAccountContext

Dane wyjściowe

Void