Udostępnij za pośrednictwem


CloudTask Klasa

Zadanie Azure Batch.

Usługa Batch ponowi próbę wykonania zadań po wyzwoleniu operacji odzyskiwania w węźle. Przykładowe operacje odzyskiwania obejmują (ale nie tylko) po ponownym uruchomieniu węzła w złej kondycji lub zniknięciu węzła obliczeniowego z powodu awarii hosta. Ponawianie prób z powodu operacji odzyskiwania jest niezależne i nie są liczone względem wartości maxTaskRetryCount. Nawet jeśli wartość maxTaskRetryCount wynosi 0, może wystąpić wewnętrzna ponowna próba spowodowana operacją odzyskiwania. W związku z tym wszystkie zadania powinny być idempotentne. Oznacza to, że zadania muszą tolerować przerwanie i ponowne uruchomienie bez spowodowania uszkodzenia lub zduplikowania danych. Najlepszym rozwiązaniem dla długotrwałych zadań jest użycie jakiejś formy tworzenia punktów kontrolnych.

Dziedziczenie
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
Wymagane

Identyfikator może zawierać dowolną kombinację znaków alfanumerycznych, w tym łączników i podkreśleń, i nie może zawierać więcej niż 64 znaków.

display_name
str
Wymagane

Nazwa wyświetlana nie musi być unikatowa i może zawierać znaki Unicode o maksymalnej długości 1024.

url
str
Wymagane
e_tag
str
Wymagane

Jest to nieprzezroczystych ciągów. Służy do wykrywania, czy zadanie uległo zmianie między żądaniami. W szczególności można przekazać element ETag podczas aktualizowania zadania w celu określenia, że zmiany powinny obowiązywać tylko wtedy, gdy nikt inny nie zmodyfikował zadania w międzyczasie.

last_modified
datetime
Wymagane
creation_time
datetime
Wymagane
exit_conditions
ExitConditions
Wymagane

Jak usługa Batch powinna odpowiadać po zakończeniu zadania.

state
str lub TaskState
Wymagane

Bieżący stan zadania. Możliwe wartości to: "active", "preparing", "running", "completed"

state_transition_time
datetime
Wymagane
previous_state
str lub TaskState
Wymagane

Poprzedni stan zadania. Ta właściwość nie jest ustawiona, jeśli zadanie jest w początkowym stanie Aktywny. Możliwe wartości to: "active", "preparing", "running", "completed"

previous_state_transition_time
datetime
Wymagane

Ta właściwość nie jest ustawiona, jeśli zadanie jest w początkowym stanie Aktywny.

command_line
str
Wymagane

W przypadku zadań z wieloma wystąpieniami wiersz polecenia jest wykonywany jako zadanie podstawowe, po zakończeniu wykonywania wiersza polecenia koordynacji przez zadanie podstawowe i wszystkie podzadania. Wiersz polecenia nie jest uruchamiany w powłoce i dlatego nie może korzystać z funkcji powłoki, takich jak rozszerzanie zmiennych środowiskowych. Jeśli chcesz korzystać z takich funkcji, należy wywołać powłokę w wierszu polecenia, na przykład za pomocą polecenia "cmd /c MyCommand" w systemie Windows lub "/bin/sh -c MyCommand" w systemie Linux. Jeśli wiersz polecenia odwołuje się do ścieżek plików, powinien użyć ścieżki względnej (względnej względem katalogu roboczego zadania) lub użyć zmiennej środowiskowej udostępnionej w usłudze Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

container_settings
TaskContainerSettings
Wymagane

Ustawienia kontenera, w którym jest uruchamiane zadanie. Jeśli pula, która będzie uruchamiać to zadanie, ma ustawioną wartość containerConfiguration, należy to również ustawić. Jeśli pula, która uruchomi to zadanie, nie ma ustawionego konteneraKonfiguracja, nie można go ustawić. Po określeniu tego ustawienia wszystkie katalogi cyklicznie poniżej AZ_BATCH_NODE_ROOT_DIR (katalog główny katalogów Azure Batch w węźle) są mapowane do kontenera, wszystkie zmienne środowiskowe zadania są mapowane do kontenera, a wiersz polecenia zadania jest wykonywany w kontenerze. Pliki utworzone w kontenerze poza AZ_BATCH_NODE_ROOT_DIR mogą nie zostać odzwierciedlone na dysku hosta, co oznacza, że interfejsy API plików usługi Batch nie będą mogły uzyskać dostępu do tych plików.

resource_files
list[ResourceFile]
Wymagane

W przypadku zadań z wieloma wystąpieniami pliki zasobów zostaną pobrane tylko do węzła obliczeniowego, na którym jest wykonywane zadanie podstawowe. Istnieje maksymalny rozmiar listy plików zasobów. Po przekroczeniu maksymalnego rozmiaru żądanie zakończy się niepowodzeniem, a kod błędu odpowiedzi to RequestEntityTooLarge. W takim przypadku należy zmniejszyć rozmiar kolekcji ResourceFiles. Można to osiągnąć przy użyciu plików .zip, pakietów aplikacji lub kontenerów platformy Docker.

output_files
list[OutputFile]
Wymagane

W przypadku zadań z wieloma wystąpieniami pliki zostaną przekazane tylko z węzła obliczeniowego, na którym jest wykonywane zadanie podstawowe.

environment_settings
list[EnvironmentSetting]
Wymagane
affinity_info
AffinityInformation
Wymagane

Wskazówka dotycząca lokalizacji, która może być używana przez usługę Batch do wybierania węzła obliczeniowego, na którym ma zostać uruchomione nowe zadanie.

constraints
TaskConstraints
Wymagane

Ograniczenia wykonywania, które mają zastosowanie do tego zadania.

required_slots
int
Wymagane

Liczba miejsc planowania, których wymaga uruchomienie zadania. Wartość domyślna to 1. Zadanie można zaplanować tylko w węźle obliczeniowym, jeśli węzeł ma wystarczającą liczbę wolnych miejsc planowania. W przypadku zadań z wieloma wystąpieniami musi to być wartość 1.

user_identity
UserIdentity
Wymagane

Tożsamość użytkownika, w ramach której jest uruchamiane zadanie. W przypadku pominięcia zadanie jest uruchamiane jako użytkownik niebędący administratorem unikatowym dla zadania.

execution_info
TaskExecutionInformation
Wymagane

Informacje o wykonaniu zadania.

node_info
ComputeNodeInformation
Wymagane

Informacje o węźle obliczeniowym, na którym uruchomiono zadanie.

multi_instance_settings
MultiInstanceSettings
Wymagane

Obiekt wskazujący, że zadanie jest zadaniem o wielu wystąpieniach i zawiera informacje o sposobie uruchamiania zadania z wieloma wystąpieniami.

stats
TaskStatistics
Wymagane

Statystyki użycia zasobów dla zadania.

depends_on
TaskDependencies
Wymagane

Zadania, od których zależy to zadanie. To zadanie nie zostanie zaplanowane do momentu pomyślnego ukończenia wszystkich zadań, od których zależy. Jeśli którykolwiek z tych zadań zakończy się niepowodzeniem i wyczerpuje liczbę ponownych prób, to zadanie nigdy nie zostanie zaplanowane.

application_package_references
list[ApplicationPackageReference]
Wymagane

Pakiety aplikacji są pobierane i wdrażane w udostępnionym katalogu, a nie w katalogu roboczym Zadania. W związku z tym jeśli pakiet, do których odwołuje się odwołanie, znajduje się już w węźle i jest aktualny, nie jest on pobierany ponownie; jest używana istniejąca kopia w węźle obliczeniowym. Jeśli nie można zainstalować przywoływanego pakietu, na przykład ze względu na to, że pakiet został usunięty lub pobieranie nie powiodło się, zadanie kończy się niepowodzeniem.

authentication_token_settings
AuthenticationTokenSettings
Wymagane

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

Metody

as_dict

Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.

Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:

Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.

Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.

Zobacz trzy przykłady w tym pliku:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

deserialize

Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.

enable_additional_properties_sending
from_dict

Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.

Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.

Jest to alias as_dict (full_restapi_key_transformer, keep_readonly=False).

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

validate

Zweryfikuj ten model cyklicznie i zwróć listę błędu ValidationError.

as_dict

Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.

Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:

Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.

Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.

Zobacz trzy przykłady w tym pliku:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

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

Parametry

key_transformer
<xref:function>

Funkcja transformatora klucza.

keep_readonly
wartość domyślna: True

Zwraca

Obiekt zgodny z dyktacją JSON

Typ zwracany

deserialize

Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.

deserialize(data, content_type=None)

Parametry

data
str
Wymagane

Str używający struktury RestAPI. Domyślnie dane JSON.

content_type
str
wartość domyślna: None

Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.

Zwraca

Wystąpienie tego modelu

Wyjątki

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.

Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)

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

Parametry

data
dict
Wymagane

Dykt używający struktury RestAPI

content_type
str
wartość domyślna: None

Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.

key_extractors
wartość domyślna: None

Zwraca

Wystąpienie tego modelu

Wyjątki

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.

Jest to alias as_dict (full_restapi_key_transformer, keep_readonly=False).

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parametry

keep_readonly
bool
wartość domyślna: False

Jeśli chcesz serializować atrybuty tylko do odczytu

Zwraca

Obiekt zgodny z dyktacją JSON

Typ zwracany

validate

Zweryfikuj ten model cyklicznie i zwróć listę błędu ValidationError.

validate()

Zwraca

Lista błędów walidacji

Typ zwracany