Sdílet prostřednictvím


Tasks - Create Task

Vytvoří úkol pro zadanou úlohu.
Maximální životnost úkolu od přidání do dokončení je 180 dní. Pokud úkol není dokončen do 180 dnů od přidání, bude ukončen službou Batch a ponechán v takovém stavu, v jakém byl v daném okamžiku.

POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01&timeOut={timeOut}

Parametry identifikátoru URI

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

string (uri)

Koncový bod účtu Batch (například: https://batchaccount.eastus2.batch.azure.com).

jobId
path True

string

ID úkolu, ke kterému má být úkol vytvořen.

api-version
query True

string

minLength: 1

Verze rozhraní API, která se má použít pro tuto operaci.

timeOut
query

integer (int32)

Maximální doba, po kterou může server strávit zpracováním požadavku v sekundách. Výchozí hodnota je 30 sekund. Pokud je hodnota větší než 30, použije se výchozí hodnota.".

Hlavička požadavku

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

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

string

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

return-client-request-id

boolean

Určuje, jestli má server v odpovědi vrátit ID požadavku klienta.

ocp-date

string (date-time-rfc7231)

Čas vydání žádosti. Klientské knihovny obvykle nastavily aktuální systémový čas; explicitně ji nastavte, pokud voláte přímo rozhraní REST API.

Text požadavku

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

Name Vyžadováno Typ Description
commandLine True

string

Příkazová řádka úkolu. U víceinstancových úloh se příkazový řádek vykoná jako primární úkol poté, co primární úkol a všechny podúkoly dokončí koordinační příkazovou řádku. Příkazový řádek se nespustí pod prostředím, 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í na 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 (relativní k pracovnímu adresáři úkolu) nebo použít proměnnou prostředí poskytovanou službou Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

Řetězec, který jednoznačně identifikuje úkol v rámci práce. ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně pomlček a podtržítka a nesmí obsahovat více než 64 znaků. ID je případově zachovávající a necitlivé na případy (to znamená, že v rámci práce nemůžete mít dvě ID, která se liší pouze podle případu).

affinityInfo

BatchAffinityInfo

Nápověda k lokalitě, kterou může dávková služba použít k výběru výpočetního uzlu, na kterém spustí novou úlohu.

applicationPackageReferences

BatchApplicationPackageReference[]

Seznam balíčků, které dávková služba nasadí na Compute Node 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 Task. Pokud tedy odkazovaný balíček již je na uzlu a je aktuální, není znovu stahovatelný; používá se existující kopie na Compute Node. Pokud nelze nainstalovat odkazovaný Package, například proto, že byl balíček smazán nebo protože stažení selhalo, Task 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 nastavena, dávková služba poskytne úkolu autentizační token, který lze použít k autentizaci operací dávkové služby bez nutnosti přístupového klíče k účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úkol pomocí tokenu provést, závisí na nastavení. Například úkol může požádat o oprávnění k práci k přidání dalších úkolů do práce, nebo zkontrolovat stav práce či jiných úkolů pod touto úlohou.

constraints

BatchTaskConstraints

Omezení provádění, která se na tento úkol vztahují. Pokud nespecifikujete omezení, maxTaskRetryCount je maxTaskRetryCount určený pro danou úlohu, maxWallClockTime je nekonečný a retentionTime je 7 dní.

containerSettings

BatchTaskContainerSettings

Nastavení kontejneru, pod kterým Task běží. Pokud má pool, který bude tuto úlohu spouštět, nastaven containerConfiguration, musí být nastaven také. Pokud pool, který bude tuto úlohu spouštět, nemá nastavenou containerConfiguration, nesmí být nastavena. Když je toto specifikováno, všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) jsou namapovány do kontejneru, všechny proměnné prostředí Tasku jsou do kontejneru namapovány a příkazový řádek Úkolu se vykoná v kontejneru. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR nemusí být zobrazeny na hostitelském disku, což znamená, že dávková API souborů k těmto souborům nebudou mít přístup.

dependsOn

BatchTaskDependencies

Úkoly, na kterých tento úkol závisí. Tento úkol nebude plánován, dokud všechny úkoly, na kterých závisí, nebudou úspěšně dokončeny. Pokud některý z těchto úkolů selže a vyčerpá počet opakovaných pokusů, tento úkol nikdy nebude naplánován. Pokud úkol nemá usesTaskDependencies nastavený na true a tento prvek je přítomen, požadavek selže s chybovým kódem TaskDependenciesNotSpecificedOnJob.

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

Jak by měla dávková služba reagovat po dokončení úkolu.

multiInstanceSettings

MultiInstanceSettings

Objekt, který označuje, že úkol je víceintenční úkol, a obsahuje informace o tom, jak víceinsekventní úkol spustit.

outputFiles

OutputFile[]

Seznam souborů, které služba Batch nahraje z Compute Node po spuštění příkazového řádku. U víceinstancových úloh budou soubory nahrávány pouze z Compute Node, na kterém se vykonává primární Task.

requiredSlots

integer (int32)

Počet plánovacích slotů, které úkol vyžadoval k vykonání. Výchozí hodnota je 1. Úkol lze naplánovat k spuštění na výpočetním uzlu pouze tehdy, pokud má uzel dostatek volných slotů pro plánování. Pro víceinštinkční úkoly 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 víceinsekvenčních úloh budou soubory zdrojů staženy pouze do Compute Node, na kterém je primární Task vykonávána. 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í být kolekce ResourceFiles zmenšena velikostí. Toho lze dosáhnout pomocí .zip souborů, balíčků aplikací nebo kontejnerů Dockeru.

userIdentity

UserIdentity

Identita uživatele, pod kterou Task běží. Pokud je vynechán, Úkol běží jako neadministrátorský uživatel unikátní pro daný úkol.

Odpovědi

Name Typ Description
201 Created

Požadavek byl úspěšný a v důsledku toho byl vytvořen nový prostředek.

Hlavičky

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

BatchError

Neočekávaná chybová odpověď

Zabezpečení

OAuth2Auth

Typ: oauth2
Tok: implicit
URL autorizace: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Rozsahy

Name Description
https://batch.core.windows.net//.default

Příklady

Creates a basic task
Creates a task with container settings
Creates a task with container settings with data isolation
Creates a task with container settings with duplicate source
Creates a task with exit conditions
Creates a task with extra slot requirement

Creates a basic task

Ukázkový požadavek

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

Ukázková odpověď

Creates a task with container settings

Ukázkový požadavek

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

Ukázková odpověď

Creates a task with container settings with data isolation

Ukázkový požadavek

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Ukázková odpověď

Creates a task with container settings with duplicate source

Ukázkový požadavek

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Ukázková odpověď

Creates a task with exit conditions

Ukázkový požadavek

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

Ukázková odpověď

Creates a task with extra slot requirement

Ukázkový požadavek

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

Ukázková odpověď

Definice

Name Description
AuthenticationTokenSettings

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

AutoUserScope

AutoUserScope enums

AutoUserSpecification

Určuje možnosti automatického uživatele, který spouští úlohu Služby Azure Batch.

BatchAccessScope

Enums BatchAccessScope

BatchAffinityInfo

Nápovědu k lokalitě, kterou může služba Batch použít k výběru výpočetního uzlu, na kterém chcete spustit úlohu.

BatchApplicationPackageReference

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

BatchError

Odpověď na chybu přijatá ze služby Azure Batch

BatchErrorDetail

Položka dalších informací zahrnutých v odpovědi na chybu služby Azure Batch

BatchErrorMessage

V odpovědi na chybu služby Azure Batch se zobrazila chybová zpráva.

BatchJobActionKind

Enumové soubory BatchJobAction

BatchNodeIdentityReference

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

BatchTaskConstraints

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

BatchTaskContainerSettings

Nastavení kontejneru pro úlohu.

BatchTaskCreateOptions

Parametry pro vytvoření úlohy Azure Batch

BatchTaskDependencies

Určuje všechny závislosti úkolu. Všechny úlohy, které jsou explicitně zadány nebo v rámci rozsahu závislostí musí být dokončeny před naplánování závislého úkolu.

BatchTaskIdRange

Začátek a konec rozsahu jsou inkluzivní. Pokud má například rozsah začátek 9 a konec 12, představuje úkoly 9, 10, 11 a 12.

ContainerHostBatchBindMountEntry

Vstup cesty a režimu připojení, který chcete připojit k kontejneru úloh.

ContainerHostDataPath

Cesty, které budou připojeny ke kontejneru úlohy kontejneru.

ContainerRegistryReference

Privátní registr kontejneru.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

DependencyAction

DependencyAction enumy

ElevationLevel

Enumy ElevationLevel

EnvironmentSetting

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

ExitCodeMapping

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

ExitCodeRangeMapping

Rozsah ukončovací kódy a způsob reakce služby Batch na ukončovací kódy v daném rozsahu.

ExitConditions

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

ExitOptions

Určuje, jak služba Batch reaguje na konkrétní výstupní podmínku.

MultiInstanceSettings

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

OutputFile

Při každém nahrání souboru služba Batch zapíše do výpočetního uzlu dva soubory protokolu,fileuploadout.txtafileuploaderr.txt. Tyto soubory protokolu slouží k získání dalších informací o konkrétním selhání.

OutputFileBlobContainerDestination

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

OutputFileDestination

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

OutputFileUploadCondition

OutputFileUploadCondition enums

OutputFileUploadConfig

Možnosti operace nahrání výstupního souboru, včetně toho, za jakých podmínek se má nahrávání provést.

OutputFileUploadHeader

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

ResourceFile

Jeden soubor nebo více souborů, které se mají stáhnout do výpočetního uzlu.

UserIdentity

Definice identity uživatele, pod kterou je úloha spuštěna. Zadejte vlastnost userName nebo autoUser, ale ne obojí.

AuthenticationTokenSettings

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

Name Typ Description
access

BatchAccessScope[]

Dávkové zdroje, ke kterým token umožňuje přístup. Autentizační token umožňuje přístup k omezené sadě operací Batch služeb. V současnosti je jedinou podporovanou hodnotou pro vlastnost přístupu 'job', která umožňuje přístup ke všem operacím souvisejícím s úkolem, který úkol obsahuje.

AutoUserScope

AutoUserScope enums

Hodnota Description
task

Specifikuje, že služba by měla vytvořit nového uživatele pro úkol.

pool

Specifikuje, že úkol běží jako společný automatický uživatelský účet, který je vytvořen na každém výpočetním uzlu v poolu.

AutoUserSpecification

Určuje možnosti automatického uživatele, který spouští úlohu Služby Azure Batch.

Name Typ Description
elevationLevel

ElevationLevel

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

scope

AutoUserScope

Obor pro automatického uživatele. Výchozí hodnota je fond. Pokud fond používá Systém Windows, měla by být zadána hodnota Úlohy, pokud je vyžadována přísnější izolace mezi úlohami. Například pokud úloha zmutuje registr způsobem, který by mohl mít vliv na jiné úlohy.

BatchAccessScope

Enums BatchAccessScope

Hodnota Description
job

Uděluje přístup k provádění všech operací na Úkolu obsahujícím Úkol.

BatchAffinityInfo

Nápovědu k lokalitě, kterou může služba Batch použít k výběru výpočetního uzlu, na kterém chcete spustit úlohu.

Name Typ Description
affinityId

string

Neprůhledný řetězec reprezentující umístění výpočetního uzlu nebo úkolu, který již dříve běžel. Můžete předat affinityId uzlu, který indikuje, že tato úloha musí běžet na tomto výpočetním uzlu. Všimněte si, že se jedná jen o měkké spřažení. Pokud je cílový výpočetní uzel zaneprázdněný nebo nedostupný v době, kdy je úkol naplánován, bude úkol naplánován jinde.

BatchApplicationPackageReference

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

Name Typ Description
applicationId

string

ID aplikace, kterou 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 tuto hodnotu vynecháte, nasadí se výchozí verze. Pokud je tento požadavek v Poolu vynechán a pro tuto aplikaci není určena výchozí verze, požadavek selže s chybovým kódem InvalidApplicationPackageReferences a HTTP stavovým kódem 409. Pokud je tato funkce v úlohe vynechána a není pro tuto aplikaci určena výchozí verze, úloha selže s chybou při předzpracování.

BatchError

Odpověď na chybu přijatá ze služby Azure Batch

Name Typ Description
code

string

Identifikátor chyby. Kódy jsou invariantní a mají být využity programově.

message

BatchErrorMessage

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

values

BatchErrorDetail[]

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

BatchErrorDetail

Položka dalších informací zahrnutých v odpovědi na chybu služby Azure Batch

Name Typ Description
key

string

Identifikátor určující význam vlastnosti Value.

value

string

Další informace zahrnuté v odpovědi na chybu.

BatchErrorMessage

V odpovědi na chybu služby Azure Batch se zobrazila chybová zpráva.

Name Typ Description
lang

string

Jazykový kód chybové zprávy.

value

string

Text zprávy.

BatchJobActionKind

Enumové soubory BatchJobAction

Hodnota Description
none

Nedělejte žádné kroky.

disable

Vypněte práci. To je ekvivalentní volání disable Job API s hodnotou disableTasks requeue.

terminate

Ukončit práci. TerminationReason v exekuci Job Info je nastaven na "TaskFailed".

BatchNodeIdentityReference

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

Name Typ Description
resourceId

string (arm-id)

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

BatchTaskConstraints

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

Name Typ Description
maxTaskRetryCount

integer (int32)

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

maxWallClockTime

string (duration)

Maximální uplynulý čas, který může úkol proběhnout, měřený od okamžiku, kdy úkol začne. Pokud úkol není dokončen v časovém limitu, dávková služba jej ukončí. Pokud to není specifikováno, neexistuje časový limit, jak dlouho může úkol trvat.

retentionTime

string (duration)

Minimální doba pro uchování adresáře úloh na Compute Node, kde běžel, je od okamžiku dokončení vykonání. Po uplynutí této doby může služba Batch složku úkolů smazat a veškerý jeho obsah. Výchozí je 7 dní, tj. adresář úloh bude ponechán po dobu 7 dní, pokud není Compute Node odstraněn nebo Job smazán.

BatchTaskContainerSettings

Nastavení kontejneru pro úlohu.

Name Typ Description
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Cesty, které chcete připojit k úloze kontejneru. Pokud je toto pole null nebo není k dispozici, úloha kontejneru připojí celou dočasnou diskovou jednotku ve Windows (nebo AZ_BATCH_NODE_ROOT_DIR v Linuxu). Pokud je toto pole nastavené jako prázdné, nepřipoje do kontejneru žádné cesty k datům.

containerRunOptions

string

Další možnosti příkazu create kontejneru Tyto další možnosti se předávají jako argumenty příkazu "docker create" kromě těch, které řídí služba Batch.

imageName

string

Obrázek, který použijete k vytvoření kontejneru, ve kterém bude úkol běžet. Toto je úplná reference na Image, jak by bylo specifikováno pro "docker pull". Pokud není v názvu obrázku uveden žádný tag, používá se tag ":latest" jako výchozí.

registry

ContainerRegistryReference

Soukromý registr, který obsahuje obraz kontejneru. Toto nastavení lze vynechat, pokud bylo již při tvorbě Poolu k dispozici.

workingDirectory

ContainerWorkingDirectory

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

BatchTaskCreateOptions

Parametry pro vytvoření úlohy Azure Batch

Name Typ Description
affinityInfo

BatchAffinityInfo

Nápověda k lokalitě, kterou může dávková služba použít k výběru výpočetního uzlu, na kterém spustí novou úlohu.

applicationPackageReferences

BatchApplicationPackageReference[]

Seznam balíčků, které dávková služba nasadí na Compute Node 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 Task. Pokud tedy odkazovaný balíček již je na uzlu a je aktuální, není znovu stahovatelný; používá se existující kopie na Compute Node. Pokud nelze nainstalovat odkazovaný Package, například proto, že byl balíček smazán nebo protože stažení selhalo, Task 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 nastavena, dávková služba poskytne úkolu autentizační token, který lze použít k autentizaci operací dávkové služby bez nutnosti přístupového klíče k účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úkol pomocí tokenu provést, závisí na nastavení. Například úkol může požádat o oprávnění k práci k přidání dalších úkolů do práce, nebo zkontrolovat stav práce či jiných úkolů pod touto úlohou.

commandLine

string

Příkazová řádka úkolu. U víceinstancových úloh se příkazový řádek vykoná jako primární úkol poté, co primární úkol a všechny podúkoly dokončí koordinační příkazovou řádku. Příkazový řádek se nespustí pod prostředím, 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í na 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 (relativní k pracovnímu adresáři úkolu) nebo použít proměnnou prostředí poskytovanou službou Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

BatchTaskConstraints

Omezení provádění, která se na tento úkol vztahují. Pokud nespecifikujete omezení, maxTaskRetryCount je maxTaskRetryCount určený pro danou úlohu, maxWallClockTime je nekonečný a retentionTime je 7 dní.

containerSettings

BatchTaskContainerSettings

Nastavení kontejneru, pod kterým Task běží. Pokud má pool, který bude tuto úlohu spouštět, nastaven containerConfiguration, musí být nastaven také. Pokud pool, který bude tuto úlohu spouštět, nemá nastavenou containerConfiguration, nesmí být nastavena. Když je toto specifikováno, všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) jsou namapovány do kontejneru, všechny proměnné prostředí Tasku jsou do kontejneru namapovány a příkazový řádek Úkolu se vykoná v kontejneru. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR nemusí být zobrazeny na hostitelském disku, což znamená, že dávková API souborů k těmto souborům nebudou mít přístup.

dependsOn

BatchTaskDependencies

Úkoly, na kterých tento úkol závisí. Tento úkol nebude plánován, dokud všechny úkoly, na kterých závisí, nebudou úspěšně dokončeny. Pokud některý z těchto úkolů selže a vyčerpá počet opakovaných pokusů, tento úkol nikdy nebude naplánován. Pokud úkol nemá usesTaskDependencies nastavený na true a tento prvek je přítomen, požadavek selže s chybovým kódem TaskDependenciesNotSpecificedOnJob.

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

Jak by měla dávková služba reagovat po dokončení úkolu.

id

string

Řetězec, který jednoznačně identifikuje úkol v rámci práce. ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně pomlček a podtržítka a nesmí obsahovat více než 64 znaků. ID je případově zachovávající a necitlivé na případy (to znamená, že v rámci práce nemůžete mít dvě ID, která se liší pouze podle případu).

multiInstanceSettings

MultiInstanceSettings

Objekt, který označuje, že úkol je víceintenční úkol, a obsahuje informace o tom, jak víceinsekventní úkol spustit.

outputFiles

OutputFile[]

Seznam souborů, které služba Batch nahraje z Compute Node po spuštění příkazového řádku. U víceinstancových úloh budou soubory nahrávány pouze z Compute Node, na kterém se vykonává primární Task.

requiredSlots

integer (int32)

Počet plánovacích slotů, které úkol vyžadoval k vykonání. Výchozí hodnota je 1. Úkol lze naplánovat k spuštění na výpočetním uzlu pouze tehdy, pokud má uzel dostatek volných slotů pro plánování. Pro víceinštinkční úkoly 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 víceinsekvenčních úloh budou soubory zdrojů staženy pouze do Compute Node, na kterém je primární Task vykonávána. 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í být kolekce ResourceFiles zmenšena velikostí. Toho lze dosáhnout pomocí .zip souborů, balíčků aplikací nebo kontejnerů Dockeru.

userIdentity

UserIdentity

Identita uživatele, pod kterou Task běží. Pokud je vynechán, Úkol běží jako neadministrátorský uživatel unikátní pro daný úkol.

BatchTaskDependencies

Určuje všechny závislosti úkolu. Všechny úlohy, které jsou explicitně zadány nebo v rámci rozsahu závislostí musí být dokončeny před naplánování závislého úkolu.

Name Typ Description
taskIdRanges

BatchTaskIdRange[]

Seznam rozsahů ID úkolu, na kterých tato úloha závisí. Všechny úkoly ve všech rozsahech musí být úspěšně dokončeny, než může být závislý úkol naplánován.

taskIds

string[]

Seznam ID úloh, na kterých tento úkol závisí. Všechny úkoly v tomto seznamu musí být úspěšně dokončeny, než může být závislý úkol naplánován. Kolekce taskIds je omezena na celkem 64000 znaků (tj. celkovou délku všech ID úloh). Pokud kolekce taskIds překročí maximální délku, požadavek Add Task selže s chybovým kódem TaskDependencyListTooLong. V takovém případě zvažte místo toho použití rozsahů Task ID.

BatchTaskIdRange

Začátek a konec rozsahu jsou inkluzivní. Pokud má například rozsah začátek 9 a konec 12, představuje úkoly 9, 10, 11 a 12.

Name Typ Description
end

integer (int32)

Poslední ID úkolu v rozsahu.

start

integer (int32)

První ID úkolu v rozsahu.

ContainerHostBatchBindMountEntry

Vstup cesty a režimu připojení, který chcete připojit k kontejneru úloh.

Name Typ Description
isReadOnly

boolean

Připojte tuto zdrojovou cestu jako režim jen pro čtení nebo ne. Výchozí hodnota je false (režim čtení a zápisu). Pokud tuto cestu pro Linux připojíte jako režim pro čtení a zápis, neznamená to, že všichni uživatelé v kontejneru mají pro cestu přístup pro čtení a zápis, závisí na přístupu na hostitelském virtuálním počítači. Pokud je tato cesta připojená jen pro čtení, nebudou moct změnit cestu všichni uživatelé v kontejneru.

source

ContainerHostDataPath

Cestu, která se připojí k zákazníkovi kontejneru, může vybrat.

ContainerHostDataPath

Cesty, které budou připojeny ke kontejneru úlohy kontejneru.

Hodnota Description
Shared

Cesta pro úlohu s více instancemi ke sdílení souborů.

Startup

Cesta ke spouštěcímu úkolu.

VfsMounts

Cesta obsahuje všechny virtuální systémy souborů, které jsou připojené k tomuto uzlu.

Task

Cesta k úkolu.

JobPrep

Cesta úkolu přípravy úlohy.

Applications

Cesta k aplikacím.

ContainerRegistryReference

Privátní registr kontejneru.

Name Typ Description
identityReference

BatchNodeIdentityReference

Odkaz na identitu přiřazenou uživatelem, která se má použít pro přístup ke službě Azure Container Registry místo uživatelského jména a hesla.

password

string (password)

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

registryServer

string (uri)

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

username

string

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

ContainerWorkingDirectory

ContainerWorkingDirectory enums

Hodnota Description
taskWorkingDirectory

Použijte standardní pracovní adresář Batch service Task Work, který bude obsahovat soubory Task Resource Files vyplněné Batchem.

containerImageDefault

Použijte pracovní adresář definovaný v kontejnerovém obrazu. Pozor, tento adresář nebude obsahovat soubory zdrojů stažené Batchem.

DependencyAction

DependencyAction enumy

Hodnota Description
satisfy

Splnit úkoly čekající na tento úkol; Jakmile jsou všechny závislosti splněny, úkol bude naplánován k vykonání.

block

Blokuje úkoly čekající na tento úkol, čímž zabraňuje jejich plánování.

ElevationLevel

Enumy ElevationLevel

Hodnota Description
nonadmin

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

admin

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

EnvironmentSetting

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

Name Typ Description
name

string

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

value

string

Hodnota proměnné prostředí.

ExitCodeMapping

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

Name Typ Description
code

integer (int32)

Kód výstupu z procesu.

exitOptions

ExitOptions

Jak by měla dávková služba reagovat, pokud úkol ukončí s tímto výstupním kódem.

ExitCodeRangeMapping

Rozsah ukončovací kódy a způsob reakce služby Batch na ukončovací kódy v daném rozsahu.

Name Typ Description
end

integer (int32)

Poslední výstupní kód v dosahu.

exitOptions

ExitOptions

Jak by měla dávková služba reagovat, pokud úkol ukončí s výstupním kódem v rozsahu od začátku do konce (včetně).

start

integer (int32)

První výstupní kód v dosahu.

ExitConditions

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

Name Typ Description
default

ExitOptions

Jak by měla dávková služba reagovat, pokud úkol selže s podmínkou ukončení, kterou žádná z ostatních vlastností nepokrývá. Tato hodnota se použije, pokud úkol ukončí s jakýmkoli nenulovým výstupním kódem, který není uveden v kolekci exitCodes nebo exitCodeRanges, s chybou při předzpracování, pokud vlastnost preProcessingError není přítomna, nebo s chybou při nahrávání souboru, pokud vlastnost fileUploadError není přítomna. Pokud chcete nevýchozí chování u výstupního kódu 0, musíte jej explicitně uvést pomocí exitCodes nebo exitCodeRanges kolekce.

exitCodeRanges

ExitCodeRangeMapping[]

Seznam rozsahů výstupních kódů úkolů a jak by na ně měla dávková služba reagovat.

exitCodes

ExitCodeMapping[]

Seznam jednotlivých výstupních kódů úkolů a jak by na ně měla dávková služba reagovat.

fileUploadError

ExitOptions

Jak by měla dávková služba reagovat, pokud dojde k chybě při nahrávání souboru. Pokud úkol ukončil výstupní kód určený pomocí exitCodes nebo exitCodeRanges a poté došlo k chybě při nahrávání souboru, má přednost akce specifikovaná výstupním kódem.

preProcessingError

ExitOptions

Jak by měla dávková služba reagovat, pokud se úkol nespustí kvůli chybě.

ExitOptions

Určuje, jak služba Batch reaguje na konkrétní výstupní podmínku.

Name Typ Description
dependencyAction

DependencyAction

Akce, kterou batch služba provádí na úkolech závislých na tomto úkolu. Možné hodnoty jsou 'splnit' (umožnit postup závislých úkolů) a 'blokovat' (závislé úkoly stále čekají). Batch zatím nepodporuje zrušení závislých úloh.

jobAction

BatchJobActionKind

Akce k provedení na Jobu obsahujícím Task, pokud Task dokončí s danou výstupní podmínkou a vlastností JobOnTaskFailed je 'performExitOptionsJobAction'. Výchozí je žádný pro výstupní kód 0 a ukončený pro všechny ostatní podmínky výstupu. Pokud je vlastností onTaskFailed úkolu noaction, pak zadání této vlastnosti vrátí chybu a požadavek na přidání úkolu selže s chybou neplatné hodnoty vlastnosti; pokud voláte přímo REST API, HTTP stavový kód je 400 (Špatný požadavek).

MultiInstanceSettings

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

Name Typ Description
commonResourceFiles

ResourceFile[]

Seznam souborů, které služba Batch stáhne před spuštěním koordinačního příkazového řádku. Rozdíl mezi běžnými soubory zdrojů a soubory zdrojů úkolů je v tom, že společné soubory zdrojů jsou stahovány pro všechny podúlohy včetně primárního, zatímco soubory zdrojů úkolů jsou stahovány pouze pro primární. Dále si všimněte, že tyto soubory zdrojů nejsou stahovány do pracovního adresáře Task, ale do kořenového adresáře Task (o 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í být kolekce ResourceFiles zmenšena velikostí. Toho lze dosáhnout pomocí .zip souborů, balíčků aplikací nebo kontejnerů Dockeru.

coordinationCommandLine

string

Příkazový řádek pro spuštění všech Compute Nodes, aby mohly koordinovat při spuštění hlavního příkazu Task. Typický koordinační příkazový řádek spouští službu na pozadí a ověřuje, že služba je připravena zpracovávat zprávy mezi uzly.

numberOfInstances

integer (int32)

Počet výpočetních uzlů požadovaných úkolem. Pokud je vynecháno, výchozí je 1.

OutputFile

Při každém nahrání souboru služba Batch zapíše do výpočetního uzlu dva soubory protokolu,fileuploadout.txtafileuploaderr.txt. Tyto soubory protokolu slouží k získání dalších informací o konkrétním selhání.

Name Typ Description
destination

OutputFileDestination

Cíl výstupních souborů.

filePattern

string

Vzor určující, které soubory nahrát. Podporují se jak relativní, tak absolutní cesty. Relativní cesty jsou relativní k pracovnímu adresáři Task. Podporovány jsou následující žolíky: * odpovídá 0 nebo více znakům (například vzor abc* by odpovídal abc nebo abcdef), ** odpovídá libovolnému adresáři, ? Shoduje se s libovolným znakem, [ABC] s jedním znakem v závorce a [A-C] s jedním znakem v rozsahu. Závorky mohou obsahovat negaci, která odpovídá jakémukoli znaku, který není specifikován (například [!abc] odpovídá jakémukoli znaku kromě a, b nebo c). Pokud název souboru začíná na "." je ve výchozím nastavení ignorován, ale může být přiřazen explicitním zadáním (například .gif nebude odpovídat .a.gif, ale ..gif ano). Jednoduchý příklad: ***.txt odpovídá jakémukoli souboru, který nezačíná na '.' a končí na .txt v pracovním adresáři Task nebo v jakémkoli podadresáři. Pokud název souboru obsahuje zástupný znak, lze jej uniknout pomocí závorek (například abc[] by odpovídalo souboru s názvem abc). Všimněte si, že \ a / jsou na Windows považovány za oddělovače adresářů, ale na Linuxu je to pouze / (). Proměnné prostředí (%var% na Windows nebo $var na Linuxu) jsou rozšířeny před aplikací vzoru.

uploadOptions

OutputFileUploadConfig

Další možnosti pro nahrávací operaci, včetně podmínek nahrávání.

OutputFileBlobContainerDestination

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

Name Typ Description
containerUrl

string (uri)

URL kontejneru v Azure Blob Storage, do kterého se soubory nahrávají. Pokud nepoužívá spravovanou identitu, musí URL obsahovat Shared Access Signature (SAS), který umožňuje zápis do kontejneru.

identityReference

BatchNodeIdentityReference

Odkaz na uživatelem přiřazenou identitu pro přístup k Azure Blob Storage specifikuje containerUrl. Identita musí mít přístup k zápisu do kontejneru Azure Blob Storage.

path

string

Cílový blob nebo virtuální adresář uvnitř kontejneru Azure Storage. Pokud filePattern odkazuje na konkrétní soubor (tj. neobsahuje žádné divoké znaky), pak path je název blobu, do kterého se soubor nahrává. Pokud filePattern obsahuje jednu nebo více divokých znaků (a proto může odpovídat více souborům), pak path je název virtuálního adresáře blobů (který je předem přiřazen ke každému názvu blobu), do kterého se soubor (soubory) nahrávají. Pokud je vynecháno, soubor(y) jsou nahrany do kořene kontejneru s názvem blob, který odpovídá jejich názvu souboru.

uploadHeaders

OutputFileUploadHeader[]

Seznam dvojic název-hodnota pro hlavičky určené k nahrávání výstupních souborů. Tyto hlavičky budou specifikovány při nahrávání souborů do Azure Storage. Oficiální dokument o povolených hlavičkách při nahrávání blobů: https://learn.microsoft.com/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

Místo v Azure blob storage, kam se nahrávají soubory.

OutputFileUploadCondition

OutputFileUploadCondition enums

Hodnota Description
tasksuccess

Soubor (soubory) nahrajte až po ukončení procesu úkolu s výstupním kódem 0.

taskfailure

Soubor nahrávejte až po ukončení procesu úkolu s nenulovým výstupním kódem.

taskcompletion

Nahrajte soubor(y) po ukončení procesu Task, bez ohledu na výstupní kód.

OutputFileUploadConfig

Možnosti operace nahrá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 by měl být výstupní soubor nebo sada souborů úkolu nahrána. Výchozí je plnění úkolů.

OutputFileUploadHeader

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

Name Typ Description
name

string

Název hlavičky bez rozlišování písmen, která se používá při nahrávání výstupních souborů.

value

string

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

ResourceFile

Jeden soubor nebo více souborů, které se mají stáhnout do výpočetního uzlu.

Name Typ Description
autoStorageContainerName

string

Název skladovacího kontejneru v účtu automatického úložiště. Vlastnosti autoStorageContainerName, storageContainerUrl a httpUrl se vzájemně vylučují a je nutné zadat jeden z nich.

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ým názvem souboru nebo podadresářem. Pokud předpona není zadaná, stáhnou se všechny soubory v kontejneru.

fileMode

string

Atribut režimu oprávnění souboru v osmičkovém formátu. Tato vlastnost se vztahuje pouze na soubory stahované do Linux Compute Nodes. Bude ignorován, pokud je specifikován pro resource file, který bude stažen do Windows Compute Node. Pokud tato vlastnost není specifikována pro Linux Compute Node, je na soubor aplikována výchozí hodnota 0770.

filePath

string

Umístění na Compute Node, kam se soubor (soubory) stahují, vzhledem k pracovnímu adresáři úkolu. Pokud je zadána vlastnost httpUrl, je souborPath vyžadován a popisuje cestu, do které se soubor stáhne, včetně názvu souboru. Jinak je zadána vlastnost autoStorageContainerName nebo storageContainerUrl, filePath je nepovinný a je adresář ke stažení souborů. V případě, že se filePath používá jako adresář, všechny adresářové struktury, které jsou již přidruženy ke vstupním datům, se zachovají v plném rozsahu a připojí se k zadanému adresáři filePath. Specifikovaná relativní cesta nemůže vystoupit z pracovního adresáře úkolu (například použitím '..').

httpUrl

string (uri)

Adresa URL souboru, který chcete stáhnout. Vlastnosti autoStorageContainerName, storageContainerUrl a httpUrl se vzájemně vylučují a je nutné zadat jeden z nich. 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 objektu blob v úložišti Azure: zahrnout sdílený přístupový podpis (SAS) udělující oprávnění ke čtení objektu blob, použít spravovanou identitu s oprávněním ke čtení nebo nastavit seznam ACL objektu blob nebo jeho kontejneru tak, aby umožňoval veřejný přístup.

identityReference

BatchNodeIdentityReference

Odkaz na uživatelem přiřazenou identitu pro přístup k Azure Blob Storage specifikuje storageContainerUrl nebo httpUrl.

storageContainerUrl

string (uri)

Adresa URL kontejneru objektů blob v rámci služby Azure Blob Storage. Vlastnosti autoStorageContainerName, storageContainerUrl a httpUrl se vzájemně vylučují a je nutné zadat jeden z nich. Tato adresa URL musí být čitelná a vypisovatelná z výpočetních uzlů. Existují tři způsoby, jak získat takovou adresu URL kontejneru v úložišti Azure: zahrnutí sdíleného přístupového podpisu (SAS) udělujícího oprávnění ke čtení a seznamu v kontejneru, použití spravované identity s oprávněními ke čtení a seznamu nebo nastavení seznamu ACL pro kontejner tak, aby umožňoval veřejný přístup.

UserIdentity

Definice identity uživatele, pod kterou je úloha spuštěna. Zadejte vlastnost userName nebo autoUser, ale ne obojí.

Name Typ Description
autoUser

AutoUserSpecification

Automatický uživatel, pod kterým se úkol spouští. Vlastnosti userName a autoUser se vzájemně vylučují; musíte zadat jednu, ale ne obě.

username

string

Název uživatelské identity, pod kterou je úkol spuštěn. Vlastnosti userName a autoUser se vzájemně vylučují; musíte zadat jednu, ale ne obě.