TaskAddParameter Classe
Uma Tarefa de Azure Batch a adicionar.
O Batch repetirá tarefas quando uma operação de recuperação for acionada num Nó. Exemplos de operações de recuperação incluem (mas não estão limitados a) quando um Nó em mau estado de funcionamento é reiniciado ou um Nó de Computação desapareceu devido a uma falha do anfitrião. As repetições devido a operações de recuperação são independentes e não são contabilizadas em relação a maxTaskRetryCount. Mesmo que maxTaskRetryCount seja 0, pode ocorrer uma repetição interna devido a uma operação de recuperação. Por este motivo, todas as Tarefas devem ser idempotentes. Isto significa que as Tarefas têm de tolerar que sejam interrompidas e reiniciadas sem causar danos ou dados duplicados. A melhor prática para tarefas de execução prolongada é utilizar alguma forma de ponto de verificação.
Todos os parâmetros necessários têm de ser preenchidos para serem enviados para o Azure.
- Herança
-
TaskAddParameter
Construtor
TaskAddParameter(*, id: str, command_line: str, display_name: str = None, container_settings=None, exit_conditions=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, multi_instance_settings=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)
Parâmetros
- id
- str
Obrigatório. O ID pode conter qualquer combinação de carateres alfanuméricos, incluindo hífenes e carateres de sublinhado, e não pode conter mais de 64 carateres. O ID é de preservação de maiúsculas e minúsculas e não é sensível a maiúsculas e minúsculas (ou seja, pode não ter dois IDs numa Tarefa que diferem apenas por caso).
- display_name
- str
O nome a apresentar não tem de ser exclusivo e pode conter carateres Unicode até um comprimento máximo de 1024.
- command_line
- str
Obrigatório. Para Tarefas de várias instâncias, a linha de comandos é executada como a Tarefa principal, depois de a Tarefa principal e todas as subtarefas terem terminado de executar a linha de comandos de coordenação. A linha de comandos não é executada numa shell e, por conseguinte, não pode tirar partido das funcionalidades da shell, como a expansão da variável de ambiente. Se quiser tirar partido destas funcionalidades, deve invocar a shell na linha de comandos, por exemplo, utilizando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Se a linha de comandos se referir a caminhos de ficheiro, deve utilizar um caminho relativo (relativo ao diretório de trabalho de tarefas) ou utilizar a variável de ambiente fornecido pelo Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
- container_settings
- TaskContainerSettings
As definições do contentor no qual a Tarefa é executada. Se o Conjunto que irá executar esta Tarefa tiver containerConfiguration definido, este também tem de ser definido. Se o Conjunto que irá executar esta Tarefa não tiver containerConfiguration definido, não pode ser definido. Quando isto é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz de Azure Batch diretórios no nó) são mapeados para o contentor, todas as variáveis de ambiente de tarefas são mapeadas para o contentor e a linha de comandos Tarefa é executada no contentor. Os ficheiros produzidos no contentor fora do AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco anfitrião, o que significa que as APIs de ficheiros do Batch não conseguirão aceder a esses ficheiros.
- exit_conditions
- ExitConditions
Como o serviço Batch deve responder quando a Tarefa é concluída.
- resource_files
- list[ResourceFile]
Para tarefas de várias instâncias, os ficheiros de recursos só serão transferidos para o Nó de Computação no qual a Tarefa principal é executada. Existe um tamanho máximo para a lista de ficheiros de recursos. Quando o tamanho máximo for excedido, o pedido falhará e o código de erro de resposta será RequestEntityTooLarge. Se isto ocorrer, a coleção de ResourceFiles tem de ser reduzida em tamanho. Isto pode ser conseguido com .zip ficheiros, Pacotes de Aplicações ou Contentores do Docker.
- output_files
- list[OutputFile]
Para Tarefas de várias instâncias, os ficheiros só serão carregados a partir do Nó de Computação no qual a Tarefa principal é executada.
- environment_settings
- list[EnvironmentSetting]
- affinity_info
- AffinityInformation
Uma sugestão de localidade que pode ser utilizada pelo serviço Batch para selecionar um Nó de Computação no qual iniciar a nova Tarefa.
- constraints
- TaskConstraints
As restrições de execução que se aplicam a esta Tarefa. Se não especificar restrições, maxTaskRetryCount é o maxTaskRetryCount especificado para a Tarefa, o maxWallClockTime é infinito e o retentionTime é de 7 dias.
- required_slots
- int
O número de blocos de agendamento que a Tarefa precisava de executar. A predefinição é 1. Uma Tarefa só pode ser agendada para ser executada num nó de computação se o nó tiver blocos de agendamento gratuitos suficientes disponíveis. Para tarefas de várias instâncias, tem de ser 1.
- user_identity
- UserIdentity
A identidade de utilizador na qual a Tarefa é executada. Se for omitida, a Tarefa é executada como um utilizador não administrativo exclusivo da Tarefa.
- multi_instance_settings
- MultiInstanceSettings
Um objeto que indica que a Tarefa é uma Tarefa de várias instâncias e contém informações sobre como executar a Tarefa de várias instâncias.
- depends_on
- TaskDependencies
As Tarefas de que esta Tarefa depende. Esta Tarefa só será agendada quando todas as Tarefas de que depende tiverem sido concluídas com êxito. Se alguma dessas Tarefas falhar e esgotar as respetivas contagens de repetições, esta Tarefa nunca será agendada. Se a Tarefa não tiver usesTaskDependencies definido como verdadeiro e este elemento estiver presente, o pedido falha com o código de erro TaskDependenciesNotSpecifiedOnJob.
- application_package_references
- list[ApplicationPackageReference]
Os pacotes de aplicações são transferidos e implementados num diretório partilhado e não no diretório de trabalho de tarefas. Por conseguinte, se um pacote referenciado já estiver no Nó e estiver atualizado, não será transferido novamente; é utilizada a cópia existente no Nó de Computação. Se não for possível instalar um Pacote referenciado, por exemplo, porque o pacote foi eliminado ou porque a transferência falhou, a Tarefa falha.
- authentication_token_settings
- AuthenticationTokenSettings
As definições de um token de autenticação que a Tarefa pode utilizar para realizar operações de serviço do Batch. Se esta propriedade estiver definida, o serviço Batch fornece à Tarefa um token de autenticação que pode ser utilizado para autenticar operações de serviço do Batch sem que seja necessária uma Chave de acesso de conta. O token é fornecido através da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a Tarefa pode realizar com o token dependem das definições. Por exemplo, uma Tarefa pode pedir permissões de Tarefa para adicionar outras Tarefas à Tarefa ou verificar o estado da Tarefa ou de outras Tarefas na Tarefa.
Métodos
as_dict |
Devolver um ditado que pode ser JSONify com json.dump. Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro: A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente, contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. O valor é o valor atual neste objeto. A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, isto é considerado dict de resultado hierárquico. Veja os três exemplos neste ficheiro:
Se quiser serialização XML, pode transmitir os kwargs is_xml=True. |
deserialize |
Analise um str com a sintaxe RestAPI e devolva um modelo. |
enable_additional_properties_sending | |
from_dict |
Analisar um ditado com um determinado extrator de chaves devolve um modelo. Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Devolver o JSON que seria enviado para o Azure a partir deste modelo. Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso). Se quiser serialização XML, pode transmitir os kwargs is_xml=True. |
validate |
Valide este modelo de forma recursiva e devolva uma lista de ValidationError. |
as_dict
Devolver um ditado que pode ser JSONify com json.dump.
Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:
A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente, contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. O valor é o valor atual neste objeto.
A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, isto é considerado dict de resultado hierárquico.
Veja os três exemplos neste ficheiro:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Se quiser serialização XML, pode transmitir os kwargs is_xml=True.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parâmetros
- key_transformer
- <xref:function>
Uma função de transformador de chaves.
- keep_readonly
Devoluções
Um objeto compatível com JSON de ditado
Tipo de retorno
deserialize
Analise um str com a sintaxe RestAPI e devolva um modelo.
deserialize(data, content_type=None)
Parâmetros
Devoluções
Uma instância deste modelo
Exceções
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Analisar um ditado com um determinado extrator de chaves devolve um modelo.
Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parâmetros
- key_extractors
Devoluções
Uma instância deste modelo
Exceções
is_xml_model
is_xml_model()
serialize
Devolver o JSON que seria enviado para o Azure a partir deste modelo.
Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).
Se quiser serialização XML, pode transmitir os kwargs is_xml=True.
serialize(keep_readonly=False, **kwargs)
Parâmetros
Devoluções
Um objeto compatível com JSON de ditado
Tipo de retorno
validate
Valide este modelo de forma recursiva e devolva uma lista de ValidationError.
validate()
Devoluções
Uma lista de erros de validação
Tipo de retorno
Azure SDK for Python