BatchTaskOutput interface
Služba Batch bude opakovat úlohy, když se na uzlu aktivuje operace obnovení. Příklady operací obnovení zahrnují (ale nejsou omezené) při restartování uzlu, který není v pořádku, nebo výpočetní uzel zmizel kvůli selhání hostitele. Opakované pokusy z důvodu operací obnovení jsou nezávislé na hodnotě maxTaskRetryCount a nezapočítávají se do hodnoty maxTaskRetryCount. I když je hodnota maxTaskRetryCount 0, může dojít k internímu opakování kvůli operaci obnovení. Z tohoto důvodu by všechny úkoly měly být idempotentní. To znamená, že úkoly musí tolerovat přerušení a restartování, aniž by to způsobilo poškození nebo duplicitní data. Osvědčeným postupem pro dlouhotrvající úlohy je použití určité formy vytváření kontrolních bodů.
Vlastnosti
| affinity |
Nápovědu 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á spustit nový úkol. |
| application |
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 stáhnou a nasadí do sdíleného adresáře, nikoli do pracovního adresáře Úlohy. Proto pokud odkazovaný balíček je již v uzlu a je aktuální, pak se znovu nestáhnou; Použije se existující kopie výpočetního 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. |
| authentication |
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 poskytuje úlohu ověřovací token, který se dá použít k ověřování operací služby Batch, aniž by vyžadovala přístupový klíč úč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. |
| command |
Příkazový řádek úkolu. U úloh s více instancemi se příkazový řádek spustí jako primární úkol, jakmile primární úkol a všechny dílčí úkoly dokončí provádění koordinačního příkazového řá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 | Omezení provádění, která platí pro tuto úlohu. |
| container |
Nastavení kontejneru, pod kterým se úloha spouští. Pokud má fond, který bude tuto úlohu spouštět, nastavený kontejnerConfiguration, musí být také nastaven. Pokud fond, který spustí tuto úlohu, nemá nastavenou konfiguraci kontejneru, nesmí být nastavena. Po zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) mapují do kontejneru, všechny proměnné prostředí úloh se mapují do kontejneru a v kontejneru se spustí příkazový řádek úkolu. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR se nemusí projevit na hostitelském disku, což znamená, že rozhraní API souborů batch nebudou mít přístup k těmto souborům. |
| creation |
Čas vytvoření úkolu. |
| depends |
Úkoly, na které tento úkol závisí. Tento úkol nebude naplánován, dokud nebudou všechny úkoly, na kterých závisí, úspěšně dokončeny. Pokud některý z těchto úkolů selže a vyčerpá počet opakování, nebude tento úkol nikdy naplánován. |
| display |
Zobrazovaný název úkolu. Zobrazovaný název nemusí být jedinečný a může obsahovat libovolné znaky Unicode až do maximální délky 1024. |
| environment |
Seznam nastavení proměnných prostředí pro úlohu |
| e |
ETag úkolu. Jedná se o neprůhlený řetězec. Můžete ho použít ke zjištění, jestli se úloha mezi požadavky změnila. Konkrétně můžete při aktualizaci úkolu předat značku ETag, aby se změny projevily pouze v případě, že do té doby úkol nikdo jiný nezměnil. |
| execution |
Informace o provádění úlohy. |
| exit |
Jak by služba Batch měla reagovat po dokončení úlohy. |
| id | Řetězec, který jednoznačně identifikuje úkol v rámci úlohy. ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně pomlček a podtržítka a nesmí obsahovat více než 64 znaků. |
| last |
Čas poslední změny úkolu. |
| multi |
Objekt, který označuje, že úloha je úloha s více instancemi a obsahuje informace o tom, jak spustit úlohu s více instancemi. |
| node |
Informace o výpočetním uzlu, na kterém úloha běžela. |
| output |
Seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku U úloh s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém je spuštěn primární úkol. |
| previous |
Předchozí stav úkolu. Tato vlastnost není nastavena, pokud je úkol v počátečním stavu Aktivní. Možné hodnoty: "active", "preparing", "running", "completed" |
| previous |
Čas, kdy úkol vstoupil do předchozího stavu. Tato vlastnost není nastavena, pokud je úkol v počátečním stavu Aktivní. |
| required |
Počet slotů plánování, které úloha vyžaduje ke spuštění. Výchozí hodnota je 1. Úkol je možné naplánovat tak, aby běžel pouze na výpočetním uzlu, pokud má uzel k dispozici dostatek volných slotů plánování. U úloh s více instancemi musí být tato možnost 1. |
| resource |
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 je spuštěn primární úkol. 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. |
| state | Aktuální stav úkolu. Možné hodnoty: "active", "preparing", "running", "completed" |
| state |
Čas, kdy úkol vstoupil do aktuálního stavu. |
| stats | Statistika využití zdrojů pro úkol |
| url | Adresa URL úkolu. |
| user |
Identita uživatele, pod kterou se úloha spouští. Pokud tento parametr vynecháte, úloha se spustí jako uživatel, který není správcem, který je pro úlohu jedinečný. |
Podrobnosti vlastnosti
affinityInfo
Nápovědu 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á spustit nový úkol.
affinityInfo?: BatchAffinityInfoOutput
Hodnota vlastnosti
applicationPackageReferences
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 stáhnou a nasadí do sdíleného adresáře, nikoli do pracovního adresáře Úlohy. Proto pokud odkazovaný balíček je již v uzlu a je aktuální, pak se znovu nestáhnou; Použije se existující kopie výpočetního 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.
applicationPackageReferences?: BatchApplicationPackageReferenceOutput[]
Hodnota vlastnosti
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 poskytuje úlohu ověřovací token, který se dá použít k ověřování operací služby Batch, aniž by vyžadovala přístupový klíč úč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.
authenticationTokenSettings?: AuthenticationTokenSettingsOutput
Hodnota vlastnosti
commandLine
Příkazový řádek úkolu. U úloh s více instancemi se příkazový řádek spustí jako primární úkol, jakmile primární úkol a všechny dílčí úkoly dokončí provádění koordinačního příkazového řá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).
commandLine: string
Hodnota vlastnosti
string
constraints
Omezení provádění, která platí pro tuto úlohu.
constraints?: BatchTaskConstraintsOutput
Hodnota vlastnosti
containerSettings
Nastavení kontejneru, pod kterým se úloha spouští. Pokud má fond, který bude tuto úlohu spouštět, nastavený kontejnerConfiguration, musí být také nastaven. Pokud fond, který spustí tuto úlohu, nemá nastavenou konfiguraci kontejneru, nesmí být nastavena. Po zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) mapují do kontejneru, všechny proměnné prostředí úloh se mapují do kontejneru a v kontejneru se spustí příkazový řádek úkolu. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR se nemusí projevit na hostitelském disku, což znamená, že rozhraní API souborů batch nebudou mít přístup k těmto souborům.
containerSettings?: BatchTaskContainerSettingsOutput
Hodnota vlastnosti
creationTime
Čas vytvoření úkolu.
creationTime: string
Hodnota vlastnosti
string
dependsOn
Úkoly, na které tento úkol závisí. Tento úkol nebude naplánován, dokud nebudou všechny úkoly, na kterých závisí, úspěšně dokončeny. Pokud některý z těchto úkolů selže a vyčerpá počet opakování, nebude tento úkol nikdy naplánován.
dependsOn?: BatchTaskDependenciesOutput
Hodnota vlastnosti
displayName
Zobrazovaný název úkolu. Zobrazovaný název nemusí být jedinečný a může obsahovat libovolné znaky Unicode až do maximální délky 1024.
displayName?: string
Hodnota vlastnosti
string
environmentSettings
Seznam nastavení proměnných prostředí pro úlohu
environmentSettings?: EnvironmentSettingOutput[]
Hodnota vlastnosti
eTag
ETag úkolu. Jedná se o neprůhlený řetězec. Můžete ho použít ke zjištění, jestli se úloha mezi požadavky změnila. Konkrétně můžete při aktualizaci úkolu předat značku ETag, aby se změny projevily pouze v případě, že do té doby úkol nikdo jiný nezměnil.
eTag: string
Hodnota vlastnosti
string
executionInfo
Informace o provádění úlohy.
executionInfo?: BatchTaskExecutionInfoOutput
Hodnota vlastnosti
exitConditions
Jak by služba Batch měla reagovat po dokončení úlohy.
exitConditions?: ExitConditionsOutput
Hodnota vlastnosti
id
Řetězec, který jednoznačně identifikuje úkol v rámci úlohy. 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: string
Hodnota vlastnosti
string
lastModified
Čas poslední změny úkolu.
lastModified: string
Hodnota vlastnosti
string
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.
multiInstanceSettings?: MultiInstanceSettingsOutput
Hodnota vlastnosti
nodeInfo
Informace o výpočetním uzlu, na kterém úloha běžela.
nodeInfo?: BatchNodeInfoOutput
Hodnota vlastnosti
outputFiles
Seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku U úloh s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém je spuštěn primární úkol.
outputFiles?: OutputFileOutput[]
Hodnota vlastnosti
previousState
Předchozí stav úkolu. Tato vlastnost není nastavena, pokud je úkol v počátečním stavu Aktivní.
Možné hodnoty: "active", "preparing", "running", "completed"
previousState?: string
Hodnota vlastnosti
string
previousStateTransitionTime
Čas, kdy úkol vstoupil do předchozího stavu. Tato vlastnost není nastavena, pokud je úkol v počátečním stavu Aktivní.
previousStateTransitionTime?: string
Hodnota vlastnosti
string
requiredSlots
Počet slotů plánování, které úloha vyžaduje ke spuštění. Výchozí hodnota je 1. Úkol je možné naplánovat tak, aby běžel pouze na výpočetním uzlu, pokud má uzel k dispozici dostatek volných slotů plánování. U úloh s více instancemi musí být tato možnost 1.
requiredSlots?: number
Hodnota vlastnosti
number
resourceFiles
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 je spuštěn primární úkol. 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.
resourceFiles?: ResourceFileOutput[]
Hodnota vlastnosti
state
Aktuální stav úkolu.
Možné hodnoty: "active", "preparing", "running", "completed"
state: string
Hodnota vlastnosti
string
stateTransitionTime
Čas, kdy úkol vstoupil do aktuálního stavu.
stateTransitionTime: string
Hodnota vlastnosti
string
stats
Statistika využití zdrojů pro úkol
stats?: BatchTaskStatisticsOutput
Hodnota vlastnosti
url
Adresa URL úkolu.
url: string
Hodnota vlastnosti
string
userIdentity
Identita uživatele, pod kterou se úloha spouští. Pokud tento parametr vynecháte, úloha se spustí jako uživatel, který není správcem, který je pro úlohu jedinečný.
userIdentity?: UserIdentityOutput