Task - Add

Přidá úkol do zadané úlohy.
Maximální doba života úkolu od přidání po dokončení je 180 dnů. Pokud se úkol nedokončil do 180 dnů od přidání, služba Batch ho ukončí a zůstane v libovolném stavu, v jakém byl v té době.

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2023-11-01.18.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2023-11-01.18.0

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
batchUrl
path True

string

Základní adresa URL pro všechny požadavky Azure Batch služby.

jobId
path True

string

ID úlohy, do které má být úkol přidán.

api-version
query True

string

Verze rozhraní API klienta.

timeout
query

integer

int32

Maximální doba, kterou může server strávit zpracováním požadavku( v sekundách). Výchozí hodnota je 30 sekund.

Hlavička požadavku

Media Types: "application/json; odata=minimalmetadata"

Name Vyžadováno Typ Description
client-request-id

string

uuid

Identita požadavku vygenerovaná volajícím ve formě identifikátoru GUID bez dekorace, například 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Určuje, jestli má server v odpovědi vrátit client-request-id.

ocp-date

string

date-time-rfc1123

Čas, kdy byla žádost vydána. Klientské knihovny obvykle nastavit na aktuální systémový čas hodin; pokud voláte rozhraní REST API přímo, explicitně ho nastavte.

Text požadavku

Media Types: "application/json; odata=minimalmetadata"

Name Vyžadováno Typ Description
commandLine True

string

Příkazový řádek úkolu.
V případě úloh s více instancemi se příkazový řádek spustí jako primární úloha po dokončení primární úlohy a všech dílčích úkolů spuštění koordinačního příkazového řádku. Příkazový řádek se nespouští v prostředí, a proto nemůže využívat funkce prostředí, jako je rozšíření proměnné prostředí. Pokud chcete tyto funkce využít, měli byste vyvolat prostředí v příkazovém řádku, například pomocí příkazu "cmd /c MyCommand" ve Windows nebo "/bin/sh -c MyCommand" v Linuxu. Pokud příkazový řádek odkazuje na cesty k souborům, měl by použít relativní cestu (vzhledem k pracovnímu adresáři úkolů) nebo proměnnou prostředí poskytnutou službou Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

id True

string

Řetězec, který jednoznačně identifikuje úkol v rámci úlohy.
ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně spojovníků a podtržítků a nesmí obsahovat více než 64 znaků. ID zachovává malá a malá písmena a nerozlišuje velká a malá písmena (to znamená, že v rámci úlohy nemusíte mít dvě ID, která se liší pouze velikostí písmen).

affinityInfo

AffinityInformation

Tip lokality, který může služba Batch použít k výběru výpočetního uzlu, na kterém se má nový úkol spustit.

applicationPackageReferences

ApplicationPackageReference[]

Seznam balíčků, které služba Batch nasadí do výpočetního uzlu před spuštěním příkazového řádku.
Balíčky aplikací se stahují a nasazují do sdíleného adresáře, nikoli do pracovního adresáře úloh. Proto pokud odkazovaný balíček je již na uzlu a je aktuální, pak není znovu stažen; Použije se existující kopie na výpočetním uzlu. Pokud odkazovaný balíček nelze nainstalovat, například proto, že balíček byl odstraněn nebo protože stahování selhalo, úloha selže.

authenticationTokenSettings

AuthenticationTokenSettings

Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch.
Pokud je tato vlastnost nastavená, služba Batch poskytne úloze ověřovací token, který lze použít k ověření operací služby Batch bez nutnosti přístupového klíče účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úloha provádět pomocí tokenu, závisí na nastavení. Úkol může například požádat o oprávnění úlohy, aby mohl do úlohy přidat další úkoly, nebo zkontrolovat stav úlohy nebo jiných úkolů v rámci úlohy.

constraints

TaskConstraints

Omezení provádění, která se vztahují na tuto úlohu.
Pokud nezadáte omezení, hodnota maxTaskRetryCount je hodnota maxTaskRetryCount zadaná pro úlohu, hodnota maxWallClockTime je nekonečná a hodnota retentionTime je 7 dnů.

containerSettings

TaskContainerSettings

Nastavení kontejneru, ve kterém se úloha spouští.
Pokud má fond, který bude tuto úlohu spouštět, nastavený parametr containerConfiguration, musí se nastavit také. Pokud fond, který bude tuto úlohu spouštět, nemá nastavený parametr containerConfiguration, nesmí se nastavit. Při zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen Azure Batch adresářů na uzlu) namapují do kontejneru, všechny proměnné prostředí task se mapují do kontejneru a příkazový řádek Task se spustí v kontejneru. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR se nemusí projevit na disku hostitele, což znamená, že rozhraní API pro soubory služby Batch nebudou mít k těmto souborům přístup.

dependsOn

TaskDependencies

Úkoly, na které závisí tento úkol.
Tato úloha nebude naplánována, dokud nebudou úspěšně dokončeny všechny úkoly, na kterých závisí. Pokud některá z těchto úloh selže a vyčerpá počet opakování, nebude tato úloha nikdy naplánována. Pokud úloha nemá usesTaskDependencies nastavena na hodnotu true a tento prvek je k dispozici, požadavek selže s kódem chyby TaskDependenciesNotSpecifiedOnJob.

displayName

string

Zobrazovaný název úkolu.
Zobrazovaný název nemusí být jedinečný a může obsahovat jakékoli znaky Unicode až do maximální délky 1024.

environmentSettings

EnvironmentSetting[]

Seznam nastavení proměnných prostředí pro úlohu.

exitConditions

ExitConditions

Určuje, jak má služba Batch reagovat na dokončení úlohy.
Jak by měla služba Batch reagovat na dokončení úlohy.

multiInstanceSettings

MultiInstanceSettings

Objekt, který označuje, že úloha je úloha s více instancemi a obsahuje informace o tom, jak spustit úlohu s více instancemi.
Úlohy s více instancemi se běžně používají k podpoře úloh MPI. Pokud v případě MPI některý z dílčích úkolů selže (například kvůli ukončení s nenulovým ukončovacím kódem), celá úloha s více instancemi selže. Úloha s více instancemi se pak ukončí a zopakuje až do limitu opakování.

outputFiles

OutputFile[]

Seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku.
U úkolů s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém se provádí primární úkol.

requiredSlots

integer

Počet slotů plánování, které úloha potřebuje ke spuštění.
Výchozí hodnota je 1. Úkol lze naplánovat tak, aby běžel na výpočetním uzlu pouze v případě, že má uzel k dispozici dostatek volných slotů plánování. Pro úlohy s více instancemi to musí být 1.

resourceFiles

ResourceFile[]

Seznam souborů, které služba Batch stáhne do výpočetního uzlu před spuštěním příkazového řádku.
U úloh s více instancemi se soubory prostředků stáhnou jenom do výpočetního uzlu, na kterém se provádí primární úkol. Pro seznam souborů prostředků platí maximální velikost. Při překročení maximální velikosti požadavek selže a kód chyby odpovědi bude RequestEntityTooLarge. Pokud k tomu dojde, musí se zmenšit velikost kolekce ResourceFiles. Toho můžete dosáhnout pomocí souborů .zip, balíčků aplikací nebo kontejnerů Dockeru.

userIdentity

UserIdentity

Identita uživatele, pod kterou je úloha spuštěna.
Pokud tento parametr vynecháte, spustí se úloha jako uživatel bez oprávnění správce, který je pro úlohu jedinečný.

Odpovědi

Name Typ Description
201 Created

Požadavek na službu Batch byl úspěšný.

Headers

  • client-request-id: string
  • request-id: string
  • ETag: string
  • Last-Modified: string
  • DataServiceId: string
Other Status Codes

BatchError

Chyba ze služby Batch.

Zabezpečení

azure_auth

Microsoft Entra tok ověřovacího kódu OAuth 2.0

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation Zosobnění uživatelského účtu

Authorization

Type: apiKey
In: header

Příklady

Add a basic task
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

Sample Response

Add a task with container settings

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Sample Response

Add a task with exit conditions

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Sample Response

Add a task with extra slot requirement

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

Sample Response

Definice

Name Description
AccessScope

Prostředky služby Batch, ke kterým token uděluje přístup.

AffinityInformation

Nápověda k umístění, kterou může služba Batch použít k výběru výpočetního uzlu, na kterém se má úloha spustit.

ApplicationPackageReference

Odkaz na balíček, který se má nasadit do výpočetních uzlů.

AuthenticationTokenSettings

Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch.

AutoUserScope

Obor automatického uživatele

AutoUserSpecification

Určuje parametry pro automatického uživatele, který spouští úlohu ve službě Batch.

BatchError

Služba Azure Batch obdržela chybovou odpověď.

BatchErrorDetail

Položka s dalšími informacemi, které jsou součástí Azure Batch chybové odpovědi.

ComputeNodeIdentityReference

Odkaz na identitu přiřazenou uživatelem přidruženou k fondu služby Batch, který bude výpočetní uzel používat.

ContainerRegistry

Privátní registr kontejneru.

ContainerWorkingDirectory

Umístění pracovního adresáře úloh kontejneru.

DependencyAction

Akce, kterou služba Batch provádí u úkolů závislých na tomto úkolu.

ElevationLevel

Úroveň zvýšení oprávnění uživatele.

EnvironmentSetting

Proměnná prostředí, která se má nastavit v procesu úlohy.

ErrorMessage

Chybová zpráva přijatá v Azure Batch chybovou odpověď.

ExitCodeMapping

Jak by měla služba Batch reagovat, když se úloha ukončí s konkrétním ukončovacím kódem.

ExitCodeRangeMapping

Rozsah ukončovací kódy a způsob, jakým má služba Batch reagovat na ukončovací kódy v daném rozsahu.

ExitConditions

Určuje, jak má služba Batch reagovat na dokončení úlohy.

ExitOptions

Určuje, jak služba Batch reaguje na konkrétní ukončovací podmínku.

HttpHeader

Pár název-hodnota hlavičky HTTP

JobAction

Akce, která se má provést u úlohy obsahující úkol, pokud se úkol dokončí s danou výstupní podmínkou a vlastností úlohy onTaskFailed je performExitOptionsJobAction.

MultiInstanceSettings

Nastavení, která určují, jak spustit úlohu s více instancemi.

OutputFile

Specifikace pro nahrávání souborů z Azure Batch výpočetního uzlu do jiného umístění po dokončení procesu úlohy službou Batch.

OutputFileBlobContainerDestination

Určuje cíl pro nahrání souboru v rámci kontejneru úložiště objektů blob v Azure.

OutputFileDestination

Cíl, do kterého se má soubor nahrát.

OutputFileUploadCondition

Podmínky, za kterých se má nahrát výstupní soubor úlohy nebo sada souborů.

OutputFileUploadOptions

Podrobnosti o operaci nahrávání výstupního souboru, včetně toho, za jakých podmínek se má nahrávání provést.

ResourceFile

Jeden soubor nebo více souborů ke stažení do výpočetního uzlu

TaskAddParameter

Azure Batch Úkol, který chcete přidat.

TaskConstraints

Omezení provádění, která se mají použít pro úlohu.

TaskContainerSettings

Nastavení kontejneru pro úlohu.

TaskDependencies

Určuje všechny závislosti úlohy. Každá úloha, která je explicitně určena nebo v rozsahu závislostí, musí být dokončena před naplánování závislé úlohy.

TaskIdRange

Rozsah ID úloh, na které může úkol záviset. Všechny úkoly s ID v rozsahu musí být úspěšně dokončeny, aby bylo možné naplánovat závislý úkol.

UserIdentity

Definice identity uživatele, pod kterou je úloha spuštěna.

AccessScope

Prostředky služby Batch, ke kterým token uděluje přístup.

Name Typ Description
job

string

Uděluje přístup k provádění všech operací s úlohou, která obsahuje úlohu.

AffinityInformation

Nápověda k umístění, kterou může služba Batch použít k výběru výpočetního uzlu, na kterém se má úloha spustit.

Name Typ Description
affinityId

string

Neprůshlený řetězec představující umístění výpočetního uzlu nebo úlohy, která byla spuštěna dříve.
Můžete předat ID spřažení uzlu a tím označit, že se tato úloha musí spustit na daném výpočetním uzlu. Všimněte si, že se jedná pouze o měkké spřažení. Pokud je cílový výpočetní uzel v době, kdy je úkol naplánovaný, zaneprázdněný nebo nedostupný, pak se úkol naplánuje jinam.

ApplicationPackageReference

Odkaz na balíček, který se má nasadit do výpočetních uzlů.

Name Typ Description
applicationId

string

ID aplikace, která se má nasadit.
Při vytváření fondu musí být ID aplikace balíčku plně kvalifikované (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

Verze aplikace, která se má nasadit. Pokud tento parametr vynecháte, nasadí se výchozí verze.
Pokud je ve fondu vynechána a pro tuto aplikaci není zadána žádná výchozí verze, požadavek selže s kódem chyby InvalidApplicationPackageReferences a stavovým kódem HTTP 409. Pokud je tato možnost u úlohy vynechána a pro tuto aplikaci není zadána žádná výchozí verze, úloha selže s chybou předběžného zpracování.

AuthenticationTokenSettings

Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch.

Name Typ Description
access

AccessScope[]

Prostředky služby Batch, ke kterým token uděluje přístup.
Ověřovací token uděluje přístup k omezené sadě operací služby Batch. V současné době je jedinou podporovanou hodnotou vlastnosti přístupu "job", která uděluje přístup ke všem operacím souvisejícím s úlohou, která obsahuje úlohu.

AutoUserScope

Obor automatického uživatele

Name Typ Description
pool

string

Určuje, že se úloha spustí jako společný účet automatického uživatele, který se vytvoří na každém výpočetním uzlu ve fondu.

task

string

Určuje, že služba by měla pro úlohu vytvořit nového uživatele.

AutoUserSpecification

Určuje parametry pro automatického uživatele, který spouští úlohu ve službě Batch.

Name Typ Description
elevationLevel

ElevationLevel

Úroveň zvýšení oprávnění automatického uživatele.
Výchozí hodnota je nonAdmin.

scope

AutoUserScope

Obor automatického uživatele
Výchozí hodnota je fond. Pokud fond používá Systém Windows, měla by být zadána hodnota Úloha, pokud je vyžadována přísnější izolace mezi úkoly. Pokud například úloha zmutuje registr způsobem, který by mohl mít vliv na jiné úlohy, nebo pokud byly ve fondu zadány certifikáty, které by neměly být přístupné pro běžné úlohy, ale měly by být přístupné pro StartTasks.

BatchError

Služba Azure Batch obdržela chybovou odpověď.

Name Typ Description
code

string

Identifikátor chyby. Kódy jsou neutrální a mají být využívány programově.

message

ErrorMessage

Zpráva popisující chybu, která má být vhodná k zobrazení v uživatelském rozhraní.

values

BatchErrorDetail[]

Kolekce párů klíč-hodnota obsahující další podrobnosti o chybě.

BatchErrorDetail

Položka s dalšími informacemi, které jsou součástí Azure Batch chybové odpovědi.

Name Typ Description
key

string

Identifikátor určující význam value vlastnost.

value

string

Další informace zahrnuté v chybové odpovědi.

ComputeNodeIdentityReference

Odkaz na identitu přiřazenou uživatelem přidruženou k fondu služby Batch, který bude výpočetní uzel používat.

Name Typ Description
resourceId

string

ID prostředku ARM identity přiřazené uživatelem.

ContainerRegistry

Privátní registr kontejneru.

Name Typ Description
identityReference

ComputeNodeIdentityReference

Odkaz na identitu přiřazenou uživatelem, která se použije pro přístup k Azure Container Registry místo uživatelského jména a hesla.
Odkaz na identitu přiřazenou uživatelem přidruženou k fondu služby Batch, který bude výpočetní uzel používat.

password

string

Heslo pro přihlášení k serveru registru.

registryServer

string

Adresa URL registru.
Pokud ho vynecháte, výchozí hodnota je "docker.io".

username

string

Uživatelské jméno pro přihlášení k serveru registru.

ContainerWorkingDirectory

Umístění pracovního adresáře úloh kontejneru.

Name Typ Description
containerImageDefault

string

Použijte pracovní adresář definovaný v imagi kontejneru. Mějte na pozoru, že tento adresář nebude obsahovat soubory prostředků stažené službou Batch.

taskWorkingDirectory

string

Použijte standardní pracovní adresář úkolů služby Batch, který bude obsahovat soubory zdrojů úkolů naplněné službou Batch.

DependencyAction

Akce, kterou služba Batch provádí u úkolů závislých na tomto úkolu.

Name Typ Description
block

string

Blokuje úkoly čekající na tuto úlohu a brání jejich naplánování.

satisfy

string

Splnění úkolů čekajících na tento úkol; Jakmile jsou všechny závislosti splněné, bude úloha naplánovaná tak, aby se spustila.

ElevationLevel

Úroveň zvýšení oprávnění uživatele.

Name Typ Description
admin

string

Uživatel je uživatel se zvýšeným přístupem a pracuje s úplnými oprávněními správce.

nonadmin

string

Uživatel je standardní uživatel bez zvýšeného přístupu.

EnvironmentSetting

Proměnná prostředí, která se má nastavit v procesu úlohy.

Name Typ Description
name

string

Název proměnné prostředí.

value

string

Hodnota proměnné prostředí.

ErrorMessage

Chybová zpráva přijatá v Azure Batch chybovou odpověď.

Name Typ Description
lang

string

Kód jazyka chybové zprávy

value

string

Text zprávy

ExitCodeMapping

Jak by měla služba Batch reagovat, když se úloha ukončí s konkrétním ukončovacím kódem.

Name Typ Description
code

integer

Ukončovací kód procesu.

exitOptions

ExitOptions

Jak by měla služba Batch reagovat, pokud se úloha ukončí s tímto ukončovacím kódem.

ExitCodeRangeMapping

Rozsah ukončovací kódy a způsob, jakým má služba Batch reagovat na ukončovací kódy v daném rozsahu.

Name Typ Description
end

integer

Poslední ukončovací kód v rozsahu.

exitOptions

ExitOptions

Jak by měla služba Batch reagovat, pokud se úloha ukončí s ukončovacím kódem v rozsahu od začátku do konce (včetně).

start

integer

První ukončovací kód v rozsahu.

ExitConditions

Určuje, jak má služba Batch reagovat na dokončení úlohy.

Name Typ Description
default

ExitOptions

Jak by měla služba Batch reagovat, pokud úloha selže s výstupní podmínkou, která není pokryta žádnou z ostatních vlastností.
Tato hodnota se používá, pokud se úloha ukončí s jakýmkoliv nenulovým ukončovacím kódem, který není uvedený v kolekci exitCodes nebo exitCodeRanges, s chybou předběžného zpracování, pokud není k dispozici vlastnost preProcessingError, nebo s chybou nahrávání souboru, pokud není k dispozici vlastnost fileUploadError. Pokud chcete u ukončovacího kódu 0 použít jiné než výchozí chování, musíte ho explicitně vypsat pomocí kolekce exitCodes nebo exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Seznam rozsahů ukončovacích kódů úlohy a způsob, jakým na ně má služba Batch reagovat.

exitCodes

ExitCodeMapping[]

Seznam jednotlivých ukončovacích kódů úkolů a způsob, jakým na ně má služba Batch reagovat.

fileUploadError

ExitOptions

Jak by měla služba Batch reagovat, pokud dojde k chybě nahrávání souboru.
Pokud úloha byla ukončena s ukončovacím kódem zadaným prostřednictvím exitCodes nebo exitCodeRanges a pak došlo k chybě nahrávání souboru, bude mít přednost akce určená ukončovacím kódem.

preProcessingError

ExitOptions

Jak by měla služba Batch reagovat, pokud se úloha nepodaří spustit kvůli chybě.

ExitOptions

Určuje, jak služba Batch reaguje na konkrétní ukončovací podmínku.

Name Typ Description
dependencyAction

DependencyAction

Akce, kterou služba Batch provádí u úkolů závislých na tomto úkolu.
Možné hodnoty jsou "satisfy" (umožňující průběh závislých úkolů) a "block" (závislé úkoly nadále čekají). Služba Batch zatím nepodporuje zrušení závislých úkolů.

jobAction

JobAction

Akce, která se má provést u úlohy obsahující úkol, pokud se úkol dokončí s danou výstupní podmínkou a vlastností úlohy onTaskFailed je performExitOptionsJobAction.
Výchozí hodnota je none pro ukončovací kód 0 a ukončení pro všechny ostatní podmínky ukončení. Pokud je vlastnost úlohy onTaskFailed noaction, zadání této vlastnosti vrátí chybu a požadavek přidat úkol selže s chybou neplatné hodnoty vlastnosti; Pokud voláte rozhraní REST API přímo, stavový kód HTTP je 400 (Chybný požadavek).

HttpHeader

Pár název-hodnota hlavičky HTTP

Name Typ Description
name

string

Název hlavičky, která se má použít při nahrávání výstupních souborů, nerozlišují malá a velká písmena.

value

string

Hodnota hlavičky, která se má použít při nahrávání výstupních souborů

JobAction

Akce, která se má provést u úlohy obsahující úkol, pokud se úkol dokončí s danou výstupní podmínkou a vlastností úlohy onTaskFailed je performExitOptionsJobAction.

Name Typ Description
disable

string

Zakažte úlohu. Jedná se o ekvivalent volání rozhraní API pro úlohy disable s hodnotou disableTasks requeue.

none

string

Neprovedejte žádnou akci.

terminate

string

Ukončete úlohu. TerminateReason v sadě ExecutionInfo úlohy je nastavená na TaskFailed.

MultiInstanceSettings

Nastavení, která určují, jak spustit úlohu s více instancemi.

Name Typ Description
commonResourceFiles

ResourceFile[]

Seznam souborů, které služba Batch stáhne před spuštěním příkazového řádku pro koordinaci.
Rozdíl mezi soubory společných zdrojů a soubory zdrojů úkolů spočívá v tom, že se stahují společné soubory zdrojů pro všechny dílčí úkoly včetně primárního, zatímco soubory zdrojů úkolů se stahují jenom pro primární. Všimněte si také, že tyto soubory prostředků se nestáhnou do pracovního adresáře úlohy, ale místo toho se stáhnou do kořenového adresáře úlohy (jeden adresář nad pracovním adresářem). Seznam souborů prostředků má maximální velikost. Při překročení maximální velikosti požadavek selže a kód chyby odpovědi bude RequestEntityTooLarge. Pokud k tomu dojde, musí se zmenšit velikost kolekce ResourceFiles. Toho můžete dosáhnout pomocí souborů .zip, balíčků aplikací nebo kontejnerů Dockeru.

coordinationCommandLine

string

Příkazový řádek, který se spustí na všech výpočetních uzlech, aby bylo možné koordinaci při primárním spuštění příkazu hlavní úlohy.
Typický koordinační příkazový řádek spustí službu na pozadí a ověří, že je připravená zpracovávat zprávy mezi uzly.

numberOfInstances

integer

Počet výpočetních uzlů požadovaných úlohou.
Pokud ho vynecháte, výchozí hodnota je 1.

OutputFile

Specifikace pro nahrávání souborů z Azure Batch výpočetního uzlu do jiného umístění po dokončení procesu úlohy službou Batch.

Name Typ Description
destination

OutputFileDestination

Cíl pro výstupní soubory.

filePattern

string

Vzor označující, které soubory se mají nahrát.
Podporují se relativní i absolutní cesty. Relativní cesty jsou relativní vzhledem k pracovnímu adresáři task. Podporují se následující zástupné znaky: * odpovídá 0 nebo více znakům (například vzor abc* odpovídá abc nebo abcdef), ** odpovídá libovolnému adresáři, ? odpovídá jakémukoli jednotlivému znaku, [abc] odpovídá jednomu znaku v hranatých závorkách a [a-c] odpovídá jednomu znaku v oblasti. Hranaté závorky můžou obsahovat negaci, která odpovídá libovolnému nezadanému znaku (například [!abc] odpovídá libovolnému znaku, ale a, b nebo c). Pokud název souboru začíná na "." je ve výchozím nastavení ignorován, ale může být shodný tak, že ho explicitně zadáte (například .gif nebude odpovídat .a.gif, ale ..gif bude). Jednoduchý příklad: ***.txt odpovídá jakémukoli souboru, který nezačíná na ., a končí .txt v pracovním adresáři úlohy nebo v libovolném podadresáři. Pokud název souboru obsahuje zástupný znak, může být řídicí znak pomocí závorek (například abc[] odpovídá souboru s názvem abc). Všimněte si, že \ i / se ve Windows považují za oddělovače adresářů, ale pouze / je v Linuxu. Proměnné prostředí (%var% ve Windows nebo $var v Linuxu) se před použitím vzoru rozbalí.

uploadOptions

OutputFileUploadOptions

Další možnosti pro operaci nahrávání, včetně podmínek, za jakých se má nahrávání provést.

OutputFileBlobContainerDestination

Určuje cíl pro nahrání souboru v rámci kontejneru úložiště objektů blob v Azure.

Name Typ Description
containerUrl

string

Adresa URL kontejneru v rámci Azure Blob Storage, do kterého chcete nahrát soubory.
Pokud nepoužíváte spravovanou identitu, musí adresa URL obsahovat sdílený přístupový podpis (SAS) udělující oprávnění k zápisu do kontejneru.

identityReference

ComputeNodeIdentityReference

Odkaz na identitu přiřazenou uživatelem, která se má použít pro přístup k Azure Blob Storage určené parametrem containerUrl
Identita musí mít oprávnění k zápisu do kontejneru Azure Blob Storage.

path

string

Cílový objekt blob nebo virtuální adresář v kontejneru Azure Storage.
Pokud filePattern odkazuje na konkrétní soubor (tj. neobsahuje žádné zástupné cardy), pak cesta je název objektu blob, do kterého se má soubor nahrát. Pokud filePattern obsahuje jeden nebo více zástupných znaků (a proto se může shodovat s více soubory), pak cesta je název virtuálního adresáře objektu blob (který je před každým názvem objektu blob), do kterého se mají nahrát soubory. Pokud tento parametr vynecháte, nahrají se soubory do kořenového adresáře kontejneru s názvem objektu blob odpovídajícím názvu souboru.

uploadHeaders

HttpHeader[]

Seznam dvojic název-hodnota pro hlavičky, které se mají použít při nahrávání výstupních souborů
Tyto hlavičky se zadají při nahrávání souborů do služby Azure Storage. Oficiální dokument o povolených hlavičkách při nahrávání objektů blob: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

Cíl, do kterého se má soubor nahrát.

Name Typ Description
container

OutputFileBlobContainerDestination

Umístění v úložišti objektů blob v Azure, do kterého se nahrají soubory.

OutputFileUploadCondition

Podmínky, za kterých se má nahrát výstupní soubor úlohy nebo sada souborů.

Name Typ Description
taskcompletion

string

Po ukončení procesu úlohy nahrajte soubory bez ohledu na to, jaký byl ukončovací kód.

taskfailure

string

Nahrajte soubory až po ukončení procesu úlohy s nenulovým ukončovacím kódem.

tasksuccess

string

Nahrajte soubory až po ukončení procesu úlohy s ukončovacím kódem 0.

OutputFileUploadOptions

Podrobnosti o operaci nahrávání výstupního souboru, včetně toho, za jakých podmínek se má nahrávání provést.

Name Typ Description
uploadCondition

OutputFileUploadCondition

Podmínky, za kterých se má výstupní soubor úkolu nebo sada souborů nahrát.
Výchozí hodnota je taskcompletion.

ResourceFile

Jeden soubor nebo více souborů ke stažení do výpočetního uzlu

Name Typ Description
autoStorageContainerName

string

Název kontejneru úložiště v účtu automatického úložiště.
Vlastnosti autoStorageContainerName, storageContainerUrl a httpUrl se vzájemně vylučují a jedna z nich musí být zadána.

blobPrefix

string

Předpona objektu blob, která se má použít při stahování objektů blob z kontejneru Azure Storage. Stáhnou se jenom objekty blob, jejichž názvy začínají zadanou předponou.
Vlastnost je platná pouze při použití autoStorageContainerName nebo storageContainerUrl. Tato předpona může být částečný název souboru nebo podadresář. Pokud není předpona zadána, stáhnou se všechny soubory v kontejneru.

fileMode

string

Atribut režimu oprávnění k souboru v osmičkovém formátu.
Tato vlastnost se vztahuje pouze na soubory stahované do výpočetních uzlů s Linuxem. Pokud je zadaný pro resourceFile, který se stáhne do výpočetního uzlu Windows, bude ignorován. Pokud tato vlastnost není pro výpočetní uzel s Linuxem zadaná, použije se pro soubor výchozí hodnota 0770.

filePath

string

Umístění na výpočetním uzlu, do kterého se mají stáhnout soubory, vzhledem k pracovnímu adresáři úlohy.
Pokud je zadána vlastnost httpUrl, filePath je povinný a popisuje cestu, do které bude soubor stažen, včetně názvu souboru. Jinak pokud je zadána vlastnost autoStorageContainerName nebo storageContainerUrl, filePath je nepovinný a je adresář ke stažení souborů do. V případě použití filePath jako adresáře se veškerá adresářová struktura, která je již přidružená ke vstupním datům, zachovají v plném rozsahu a připojí se k zadanému adresáři filePath. Zadaná relativní cesta nemůže být oddělena od pracovního adresáře úlohy (například pomocí ..).

httpUrl

string

Adresa URL souboru, který chcete stáhnout.
Vlastnosti autoStorageContainerName, storageContainerUrl a httpUrl se vzájemně vylučují a jedna z nich musí být zadána. Pokud adresa URL odkazuje na Azure Blob Storage, musí být čitelná z výpočetních uzlů. Existují tři způsoby, jak získat takovou adresu URL pro objekt blob ve službě Azure Storage: patří sdílený přístupový podpis (SAS) udělující oprávnění ke čtení objektu blob, použití spravované identity s oprávněním ke čtení nebo nastavení seznamu ACL pro objekt blob nebo jeho kontejner tak, aby umožňoval veřejný přístup.

identityReference

ComputeNodeIdentityReference

Odkaz na identitu přiřazenou uživatelem, která se má použít pro přístup k Azure Blob Storage určené pomocí storageContainerUrl nebo httpUrl
Odkaz na identitu přiřazenou uživatelem přidruženou k fondu služby Batch, který bude používat výpočetní uzel.

storageContainerUrl

string

Adresa URL kontejneru objektů blob v rámci Azure Blob Storage.
Vlastnosti autoStorageContainerName, storageContainerUrl a httpUrl se vzájemně vylučují a jedna z nich musí být zadána. Tato adresa URL musí být čitelná a vypsatelná z výpočetních uzlů. Existují tři způsoby, jak takovou adresu URL pro kontejner ve službě Azure Storage získat: můžete zahrnout sdílený přístupový podpis (SAS) udělující oprávnění ke čtení a seznamu v kontejneru, použít spravovanou identitu s oprávněními ke čtení a seznamu seznamů nebo nastavit seznam ACL pro kontejner tak, aby umožňoval veřejný přístup.

TaskAddParameter

Azure Batch Úkol, který chcete přidat.

Name Typ Description
affinityInfo

AffinityInformation

Tip lokality, který může služba Batch použít k výběru výpočetního uzlu, na kterém se má nový úkol spustit.

applicationPackageReferences

ApplicationPackageReference[]

Seznam balíčků, které služba Batch nasadí do výpočetního uzlu před spuštěním příkazového řádku.
Balíčky aplikací se stahují a nasazují do sdíleného adresáře, nikoli do pracovního adresáře úloh. Proto pokud odkazovaný balíček je již na uzlu a je aktuální, pak není znovu stažen; Použije se existující kopie na výpočetním uzlu. Pokud odkazovaný balíček nelze nainstalovat, například proto, že balíček byl odstraněn nebo protože stahování selhalo, úloha selže.

authenticationTokenSettings

AuthenticationTokenSettings

Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch.
Pokud je tato vlastnost nastavená, služba Batch poskytne úloze ověřovací token, který lze použít k ověření operací služby Batch bez nutnosti přístupového klíče účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úloha provádět pomocí tokenu, závisí na nastavení. Úkol může například požádat o oprávnění úlohy, aby mohl do úlohy přidat další úkoly, nebo zkontrolovat stav úlohy nebo jiných úkolů v rámci úlohy.

commandLine

string

Příkazový řádek úkolu.
V případě úloh s více instancemi se příkazový řádek spustí jako primární úloha po dokončení primární úlohy a všech dílčích úkolů spuštění koordinačního příkazového řádku. Příkazový řádek se nespouští v prostředí, a proto nemůže využívat funkce prostředí, jako je rozšíření proměnné prostředí. Pokud chcete tyto funkce využít, měli byste vyvolat prostředí v příkazovém řádku, například pomocí příkazu "cmd /c MyCommand" ve Windows nebo "/bin/sh -c MyCommand" v Linuxu. Pokud příkazový řádek odkazuje na cesty k souborům, měl by použít relativní cestu (vzhledem k pracovnímu adresáři úkolů) nebo proměnnou prostředí poskytnutou službou Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

constraints

TaskConstraints

Omezení provádění, která se vztahují na tuto úlohu.
Pokud nezadáte omezení, hodnota maxTaskRetryCount je hodnota maxTaskRetryCount zadaná pro úlohu, hodnota maxWallClockTime je nekonečná a hodnota retentionTime je 7 dnů.

containerSettings

TaskContainerSettings

Nastavení kontejneru, ve kterém se úloha spouští.
Pokud má fond, který bude tuto úlohu spouštět, nastavený parametr containerConfiguration, musí se nastavit také. Pokud fond, který bude tuto úlohu spouštět, nemá nastavený parametr containerConfiguration, nesmí se nastavit. Při zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen Azure Batch adresářů na uzlu) namapují do kontejneru, všechny proměnné prostředí task se mapují do kontejneru a příkazový řádek Task se spustí v kontejneru. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR se nemusí projevit na disku hostitele, což znamená, že rozhraní API pro soubory služby Batch nebudou mít k těmto souborům přístup.

dependsOn

TaskDependencies

Úkoly, na které závisí tento úkol.
Tato úloha nebude naplánována, dokud nebudou úspěšně dokončeny všechny úkoly, na kterých závisí. Pokud některá z těchto úloh selže a vyčerpá počet opakování, nebude tato úloha nikdy naplánována. Pokud úloha nemá usesTaskDependencies nastavena na hodnotu true a tento prvek je k dispozici, požadavek selže s kódem chyby TaskDependenciesNotSpecifiedOnJob.

displayName

string

Zobrazovaný název úkolu.
Zobrazovaný název nemusí být jedinečný a může obsahovat jakékoli znaky Unicode až do maximální délky 1024.

environmentSettings

EnvironmentSetting[]

Seznam nastavení proměnných prostředí pro úlohu.

exitConditions

ExitConditions

Určuje, jak má služba Batch reagovat na dokončení úlohy.
Jak by měla služba Batch reagovat na dokončení úlohy.

id

string

Řetězec, který jednoznačně identifikuje úkol v rámci úlohy.
ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně spojovníků a podtržítků a nesmí obsahovat více než 64 znaků. ID zachovává malá a malá písmena a nerozlišuje velká a malá písmena (to znamená, že v rámci úlohy nemusíte mít dvě ID, která se liší pouze velikostí písmen).

multiInstanceSettings

MultiInstanceSettings

Objekt, který označuje, že úloha je úloha s více instancemi a obsahuje informace o tom, jak spustit úlohu s více instancemi.
Úlohy s více instancemi se běžně používají k podpoře úloh MPI. Pokud v případě MPI některý z dílčích úkolů selže (například kvůli ukončení s nenulovým ukončovacím kódem), celá úloha s více instancemi selže. Úloha s více instancemi se pak ukončí a zopakuje až do limitu opakování.

outputFiles

OutputFile[]

Seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku.
U úkolů s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém se provádí primární úkol.

requiredSlots

integer

Počet slotů plánování, které úloha potřebuje ke spuštění.
Výchozí hodnota je 1. Úkol lze naplánovat tak, aby běžel na výpočetním uzlu pouze v případě, že má uzel k dispozici dostatek volných slotů plánování. Pro úlohy s více instancemi to musí být 1.

resourceFiles

ResourceFile[]

Seznam souborů, které služba Batch stáhne do výpočetního uzlu před spuštěním příkazového řádku.
U úloh s více instancemi se soubory prostředků stáhnou jenom do výpočetního uzlu, na kterém se provádí primární úkol. Pro seznam souborů prostředků platí maximální velikost. Při překročení maximální velikosti požadavek selže a kód chyby odpovědi bude RequestEntityTooLarge. Pokud k tomu dojde, musí se zmenšit velikost kolekce ResourceFiles. Toho můžete dosáhnout pomocí souborů .zip, balíčků aplikací nebo kontejnerů Dockeru.

userIdentity

UserIdentity

Identita uživatele, pod kterou je úloha spuštěna.
Pokud tento parametr vynecháte, spustí se úloha jako uživatel bez oprávnění správce, který je pro úlohu jedinečný.

TaskConstraints

Omezení provádění, která se mají použít pro úlohu.

Name Typ Description
maxTaskRetryCount

integer

Maximální počet opakování úkolu. Služba Batch opakuje úlohu, pokud její ukončovací kód není nenulový.
Všimněte si, že tato hodnota konkrétně řídí počet opakování spustitelného souboru úlohy kvůli nenulovém ukončovacímu kódu. Služba Batch tuto úlohu jednou vyzkouší a až do tohoto limitu se může zkusit znovu. Pokud je například maximální počet opakování 3, služba Batch zkusí úlohu až 4krát (jeden počáteční pokus a 3 opakování). Pokud je maximální počet opakování 0, služba Batch se po prvním pokusu o opakování úlohy nepokusí. Pokud je maximální počet opakování -1, služba Batch opakuje úlohu bez omezení, ale nedoporučuje se to pro spouštěcí úkol ani žádný úkol. Výchozí hodnota je 0 (bez opakování).

maxWallClockTime

string

Maximální uplynulý čas, který může úkol spustit, měřený od okamžiku spuštění úlohy. Pokud se úkol nedokončil v časovém limitu, služba Batch ji ukončí.
Pokud to není zadané, neexistuje žádný časový limit, jak dlouho může úloha běžet.

retentionTime

string

Minimální doba uchování adresáře úloh na výpočetním uzlu, na kterém byl spuštěn, od okamžiku dokončení provádění. Po uplynutí této doby může služba Batch odstranit adresář úloh a veškerý jeho obsah.
Výchozí hodnota je 7 dnů, tj. adresář úloh se zachová po dobu 7 dnů, pokud se neodebere výpočetní uzel nebo úloha neodstraní.

TaskContainerSettings

Nastavení kontejneru pro úlohu.

Name Typ Description
containerRunOptions

string

Další možnosti příkazu container create
Tyto další možnosti jsou kromě možností řízených službou Batch k dispozici jako argumenty příkazu docker create.

imageName

string

Image, která se má použít k vytvoření kontejneru, ve kterém bude úloha spuštěna.
Toto je úplný odkaz na image, který by byl zadán pro "docker pull". Pokud jako součást názvu obrázku není uvedena žádná značka, použije se jako výchozí značka ":latest".

registry

ContainerRegistry

Privátní registr, který obsahuje image kontejneru.
Toto nastavení je možné vynechat, pokud už jste ho zadali při vytváření fondu.

workingDirectory

ContainerWorkingDirectory

Umístění pracovního adresáře úloh kontejneru.
Výchozí hodnota je taskWorkingDirectory.

TaskDependencies

Určuje všechny závislosti úlohy. Každá úloha, která je explicitně určena nebo v rozsahu závislostí, musí být dokončena před naplánování závislé úlohy.

Name Typ Description
taskIdRanges

TaskIdRange[]

Seznam rozsahů ID úlohy, na které závisí tento úkol. Před naplánování závislé úlohy musí být všechny úkoly ve všech oblastech úspěšně dokončeny.

taskIds

string[]

Seznam ID úkolů, na které závisí tento úkol. Všechny úkoly v tomto seznamu musí být úspěšně dokončeny před tím, než bude možné naplánovat závislý úkol.
Kolekce taskIds je omezená na celkem 64 000 znaků (tj. celková délka všech ID úkolů). Pokud kolekce taskIds překročí maximální délku, požadavek Přidat úlohu selže s kódem chyby TaskDependencyListTooLong. V takovém případě zvažte místo toho použití rozsahů ID úlohy.

TaskIdRange

Rozsah ID úloh, na které může úkol záviset. Všechny úkoly s ID v rozsahu musí být úspěšně dokončeny, aby bylo možné naplánovat závislý úkol.

Name Typ Description
end

integer

ID poslední úlohy v rozsahu.

start

integer

ID první úlohy v rozsahu.

UserIdentity

Definice identity uživatele, pod kterou je úloha spuštěna.

Name Typ Description
autoUser

AutoUserSpecification

Automatický uživatel, pod kterým je úloha spuštěna.
Vlastnosti userName a autoUser se vzájemně vylučují; musíte zadat jeden, ale ne oba.

username

string

Název identity uživatele, pod kterou je úloha spuštěna.
Vlastnosti userName a autoUser se vzájemně vylučují; musíte zadat jeden, ale ne oba.