Sdílet prostřednictvím


CloudTask Třída

Úkol Azure Batch.

Služba Batch zopakuje úlohy, když se na uzlu aktivuje operace obnovení. Mezi příklady operací obnovení patří (mimo jiné) restartování uzlu, který není v pořádku, nebo když výpočetní uzel zmizel kvůli selhání hostitele. Opakování kvůli operacím obnovení jsou nezávislé na 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í bez poškození nebo duplicitních dat. Osvědčeným postupem pro dlouhotrvající úlohy je použít nějakou formu vytváření kontrolních bodů.

Dědičnost
CloudTask

Konstruktor

CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)

Parametry

id
str
Vyžadováno

ID může obsahovat libovolnou kombinaci alfanumerických znaků, včetně pomlček a podtržítků, a nesmí obsahovat více než 64 znaků.

display_name
str
Vyžadováno

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

url
str
Vyžadováno
e_tag
str
Vyžadováno

Jedná se o neprůsvný ř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 ETag a určit, že se změny projeví pouze v případě, že mezitím nikdo jiný úkol nezměnil.

last_modified
datetime
Vyžadováno
creation_time
datetime
Vyžadováno
exit_conditions
ExitConditions
Vyžadováno

Jak by měla služba Batch reagovat na dokončení úlohy.

state
str nebo TaskState
Vyžadováno

Aktuální stav úkolu. Mezi možné hodnoty patří: "active", "preparing", "running", "completed".

state_transition_time
datetime
Vyžadováno
previous_state
str nebo TaskState
Vyžadováno

Předchozí stav úkolu. Tato vlastnost není nastavena, pokud je úkol v počátečním stavu Aktivní. Mezi možné hodnoty patří: "active", "preparing", "running", "completed".

previous_state_transition_time
datetime
Vyžadováno

Tato vlastnost není nastavena, pokud je úkol v počátečním stavu Aktivní.

command_line
str
Vyžadováno

V případě úkolů s více instancemi se příkazový řádek spustí jako primární úkol po dokončení spuštění příkazu koordinace primárního úkolu a všech dílčích úkolů. 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 Úloh) nebo proměnnou prostředí poskytovanou službou Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

container_settings
TaskContainerSettings
Vyžadováno

Nastavení kontejneru, ve kterém úloha běží. Pokud má fond, který bude tuto úlohu spouštět, nastavenou konfiguraci kontejneru, musí být nastavena i tato možnost. Pokud fond, který spustí tuto úlohu, nemá nastavenou konfiguraci kontejneru, nesmí být nastavená. Když je tato možnost zadána, všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen Azure Batch adresářů na uzlu) se mapují do kontejneru, všechny proměnné prostředí úloh se mapují do kontejneru a příkazový řádek úlohy 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 služby Batch nebudou mít k těmto souborům přístup.

resource_files
list[ResourceFile]
Vyžadováno

V případě ú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í úloha. 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.

output_files
list[OutputFile]
Vyžadováno

V případě úloh s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém se provádí primární úloha.

environment_settings
list[EnvironmentSetting]
Vyžadováno
affinity_info
AffinityInformation
Vyžadováno

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á nová úloha spustit.

constraints
TaskConstraints
Vyžadováno

Omezení provádění, která se vztahují na tuto úlohu.

required_slots
int
Vyžadováno

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

user_identity
UserIdentity
Vyžadováno

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

execution_info
TaskExecutionInformation
Vyžadováno

Informace o provádění úlohy.

node_info
ComputeNodeInformation
Vyžadováno

Informace o výpočetním uzlu, na kterém úloha běžela.

multi_instance_settings
MultiInstanceSettings
Vyžadováno

Objekt, který označuje, že úloha je úloha s více instancemi a obsahuje informace o tom, jak spustit úlohu s více instancemi.

stats
TaskStatistics
Vyžadováno

Statistika využití zdrojů pro úkol.

depends_on
TaskDependencies
Vyžadováno

Úkoly, na které tento úkol závisí. Tento úkol nebude naplánovaný, dokud se úspěšně nedokončily všechny úlohy, 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ánovaná.

application_package_references
list[ApplicationPackageReference]
Vyžadováno

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.

authentication_token_settings
AuthenticationTokenSettings
Vyžadováno

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 úkolu 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.

Metody

as_dict

Vrátí dikt, který může být JSONify pomocí json.dump.

Rozšířené využití může volitelně použít zpětné volání jako parametr:

Klíč je název atributu, který se používá v Pythonu. Attr_desc je dikt metadat. V současné době obsahuje "type" s typem msrest a "key" s klíčem kódovaným restAPI. Hodnota je aktuální hodnota v tomto objektu.

Vrácený řetězec se použije k serializaci klíče. Pokud je návratovým typem seznam, považuje se za hierarchický dikt výsledku.

Podívejte se na tři příklady v tomto souboru:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Pokud chcete serializaci XML, můžete předat kwargs is_xml=True.

deserialize

Parsujte str pomocí syntaxe RestAPI a vraťte model.

enable_additional_properties_sending
from_dict

Analýza diktu pomocí daného extraktoru klíčů vrátí model.

Ve výchozím nastavení zvažte extraktory klíčů (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor a last_rest_key_case_insensitive_extractor).

is_xml_model
serialize

Vrátí kód JSON, který se z tohoto modelu odešle do Azure.

Toto je alias pro as_dict(full_restapi_key_transformer; keep_readonly=False).

Pokud chcete serializaci XML, můžete předat kwargs is_xml=True.

validate

Rekurzivně ověřte tento model a vraťte seznam ValidationError.

as_dict

Vrátí dikt, který může být JSONify pomocí json.dump.

Rozšířené využití může volitelně použít zpětné volání jako parametr:

Klíč je název atributu, který se používá v Pythonu. Attr_desc je dikt metadat. V současné době obsahuje "type" s typem msrest a "key" s klíčem kódovaným restAPI. Hodnota je aktuální hodnota v tomto objektu.

Vrácený řetězec se použije k serializaci klíče. Pokud je návratovým typem seznam, považuje se za hierarchický dikt výsledku.

Podívejte se na tři příklady v tomto souboru:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Pokud chcete serializaci XML, můžete předat kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parametry

key_transformer
<xref:function>

Funkce klíčového transformátoru.

keep_readonly
výchozí hodnota: True

Návraty

Objekt kompatibilní s diktem JSON

Návratový typ

deserialize

Parsujte str pomocí syntaxe RestAPI a vraťte model.

deserialize(data, content_type=None)

Parametry

data
str
Vyžadováno

Str používající strukturu RestAPI. Ve výchozím nastavení JSON.

content_type
str
výchozí hodnota: None

Ve výchozím nastavení JSON nastavte application/xml, pokud XML.

Návraty

Instance tohoto modelu

Výjimky

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analýza diktu pomocí daného extraktoru klíčů vrátí model.

Ve výchozím nastavení zvažte extraktory klíčů (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor a last_rest_key_case_insensitive_extractor).

from_dict(data, key_extractors=None, content_type=None)

Parametry

data
dict
Vyžadováno

Diktování pomocí struktury RestAPI

content_type
str
výchozí hodnota: None

Ve výchozím nastavení JSON nastavte application/xml, pokud XML.

key_extractors
výchozí hodnota: None

Návraty

Instance tohoto modelu

Výjimky

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Vrátí kód JSON, který se z tohoto modelu odešle do Azure.

Toto je alias pro as_dict(full_restapi_key_transformer; keep_readonly=False).

Pokud chcete serializaci XML, můžete předat kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parametry

keep_readonly
bool
výchozí hodnota: False

Pokud chcete serializovat atributy readonly

Návraty

Objekt kompatibilní s diktem JSON

Návratový typ

validate

Rekurzivně ověřte tento model a vraťte seznam ValidationError.

validate()

Návraty

Seznam chyb ověření

Návratový typ