CloudTask Classe
Uma tarefa Lote do Azure.
O Lote repetirá Tarefas quando uma operação de recuperação for disparada em um nó. Exemplos de operações de recuperação incluem (mas não se limitam a) quando um Nó não íntegro é reinicializado ou um Nó de Computação desapareceu devido a uma falha no host. As repetições devido a operações de recuperação são independentes de e não são contadas em relação a maxTaskRetryCount. Mesmo que maxTaskRetryCount seja 0, uma repetição interna devido a uma operação de recuperação poderá ocorrer. Por isso, todas as Tarefas devem ser idempotentes. Isso significa que as tarefas precisam tolerar a interrupção e a reinicialização sem causar dados corrompidos ou duplicados. A melhor prática para tarefas de execução prolongada é usar alguma forma de ponto de verificação.
- Herança
-
CloudTask
Construtor
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)
Parâmetros
- id
- str
A ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hifens e sublinhados, e não pode conter mais de 64 caracteres.
- display_name
- str
O nome de exibição não precisa ser exclusivo e pode conter caracteres Unicode até um comprimento máximo de 1024.
- url
- str
- e_tag
- str
Essa é uma cadeia de caracteres opaca. Você pode usá-lo para detectar se a Tarefa foi alterada entre solicitações. Em particular, você pode passar a ETag ao atualizar uma Tarefa para especificar que suas alterações devem entrar em vigor somente se ninguém mais tiver modificado a Tarefa enquanto isso.
- last_modified
- datetime
- creation_time
- datetime
- exit_conditions
- ExitConditions
Como o serviço lote deve responder quando a Tarefa for concluída.
O estado atual da Tarefa. Os valores possíveis incluem: 'active', 'prepare', 'running', 'completed'
- state_transition_time
- datetime
O estado anterior da Tarefa. Essa propriedade não será definida se a Tarefa estiver em seu estado Ativo inicial. Os valores possíveis incluem: 'active', 'prepare', 'running', 'completed'
- previous_state_transition_time
- datetime
Essa propriedade não será definida se a Tarefa estiver em seu estado Ativo inicial.
- command_line
- str
Para Tarefas de várias instâncias, a linha de comando é executada como a Tarefa primária, depois que a Tarefa primária e todas as subtarefas terminarem de executar a linha de comando de coordenação. A linha de comando não é executada em um shell e, portanto, não pode aproveitar os recursos do shell, como expansão de variável de ambiente. Se você quiser aproveitar esses recursos, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Se a linha de comando se referir a caminhos de arquivo, ela deverá usar um caminho relativo (em relação ao diretório de trabalho Tarefa) ou usar a variável de ambiente fornecida pelo Lote (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
- container_settings
- TaskContainerSettings
As configurações do contêiner no qual a Tarefa é executada. Se o Pool que executará essa Tarefa tiver containerConfiguration definido, isso também deverá ser definido. Se o Pool que executará essa Tarefa não tiver containerConfiguration definido, isso não deverá ser definido. Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz de Lote do Azure diretórios no nó) são mapeados para o contêiner, todas as variáveis de ambiente task são mapeadas para o contêiner e a linha de comando Task é executada no contêiner. Os arquivos produzidos no contêiner fora do AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco host, o que significa que as APIs de arquivo do Lote não poderão acessar esses arquivos.
- resource_files
- list[ResourceFile]
Para tarefas de várias instâncias, os arquivos de recurso só serão baixados para o Nó de Computação no qual a Tarefa primária é executada. Há um tamanho máximo para a lista de arquivos de recurso. Quando o tamanho máximo for excedido, a solicitação falhará e o código de erro de resposta será RequestEntityTooLarge. Se isso ocorrer, a coleção de ResourceFiles deverá ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, Pacotes de Aplicativos ou Contêineres do Docker.
- output_files
- list[OutputFile]
Para tarefas de várias instâncias, os arquivos serão carregados somente do Nó de Computação no qual a Tarefa primária é executada.
- environment_settings
- list[EnvironmentSetting]
- affinity_info
- AffinityInformation
Uma dica de localidade que pode ser usada pelo serviço lote para selecionar um Nó de Computação no qual iniciar a nova Tarefa.
- required_slots
- int
O número de slots de agendamento necessários para execução da Tarefa. O padrão é 1. Uma Tarefa só poderá ser agendada para ser executada em um nó de computação se o nó tiver slots de agendamento gratuitos suficientes disponíveis. Para tarefas de várias instâncias, isso deve ser 1.
- user_identity
- UserIdentity
A identidade do usuário sob a qual a Tarefa é executada. Se omitido, a Tarefa será executada como um usuário não administrativo exclusivo da Tarefa.
- node_info
- ComputeNodeInformation
Informações sobre o Nó de Computação no qual a Tarefa foi executada.
- 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 das quais esta Tarefa depende. Esta Tarefa não será agendada até que todas as Tarefas das quais ela depende tenham sido concluídas com êxito. Se qualquer uma dessas Tarefas falhar e esgotar suas contagens de repetição, essa Tarefa nunca será agendada.
- application_package_references
- list[ApplicationPackageReference]
Os pacotes de aplicativos são baixados e implantados em um diretório compartilhado, não no diretório trabalho tarefa. Portanto, se um pacote referenciado já estiver no Nó e estiver atualizado, ele não será baixado novamente; a cópia existente no Nó de Computação é usada. Se um Pacote referenciado não puder ser instalado, por exemplo, porque o pacote foi excluído ou porque o download falhou, a Tarefa falhará.
- authentication_token_settings
- AuthenticationTokenSettings
As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço do Lote. Se essa propriedade for definida, o serviço do Lote fornecerá à Tarefa um token de autenticação que pode ser usado para autenticar operações de serviço do Lote sem a necessidade de uma chave de acesso da conta. O token é fornecido por meio da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a Tarefa pode executar usando o token dependem das configurações. Por exemplo, uma Tarefa pode solicitar permissões de Trabalho para adicionar outras Tarefas ao Trabalho ou marcar o status do Trabalho ou de outras Tarefas no Trabalho.
Métodos
as_dict |
Retornar um ditado que pode ser JSONify usando json.dump. Opcionalmente, o uso avançado pode usar um retorno de chamada como parâmetro: Key é o nome do atributo usado no Python. Attr_desc é um dict de metadados. Atualmente contém 'type' com o tipo msrest e 'key' com a chave codificada restAPI. Value é o valor atual neste objeto . A cadeia de caracteres retornada será usada para serializar a chave. Se o tipo de retorno for uma lista, isso será considerado um dict de resultado hierárquico. Confira os três exemplos neste arquivo:
Se você quiser serialização XML, poderá passar os kwargs is_xml=True. |
deserialize |
Analise um str usando a sintaxe RestAPI e retorne um modelo. |
enable_additional_properties_sending | |
from_dict |
Analisar um ditado usando determinado extrator de chave retorna um modelo. Por padrão, considere extratores de chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Retorne o JSON que seria enviado para o azure desse modelo. Esse é um alias para as_dict(full_restapi_key_transformer, keep_readonly=False). Se você quiser serialização XML, poderá passar os kwargs is_xml=True. |
validate |
Valide esse modelo recursivamente e retorne uma lista de ValidationError. |
as_dict
Retornar um ditado que pode ser JSONify usando json.dump.
Opcionalmente, o uso avançado pode usar um retorno de chamada como parâmetro:
Key é o nome do atributo usado no Python. Attr_desc é um dict de metadados. Atualmente contém 'type' com o tipo msrest e 'key' com a chave codificada restAPI. Value é o valor atual neste objeto .
A cadeia de caracteres retornada será usada para serializar a chave. Se o tipo de retorno for uma lista, isso será considerado um dict de resultado hierárquico.
Confira os três exemplos neste arquivo:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Se você quiser serialização XML, poderá passar 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 chave.
- keep_readonly
Retornos
Um objeto compatível com JSON de dict
Tipo de retorno
deserialize
Analise um str usando a sintaxe RestAPI e retorne um modelo.
deserialize(data, content_type=None)
Parâmetros
Retornos
Uma instância desse modelo
Exceções
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Analisar um ditado usando determinado extrator de chave retorna um modelo.
Por padrão, considere extratores de 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
Retornos
Uma instância desse modelo
Exceções
is_xml_model
is_xml_model()
serialize
Retorne o JSON que seria enviado para o azure desse modelo.
Esse é um alias para as_dict(full_restapi_key_transformer, keep_readonly=False).
Se você quiser serialização XML, poderá passar os kwargs is_xml=True.
serialize(keep_readonly=False, **kwargs)
Parâmetros
Retornos
Um objeto compatível com JSON de dict
Tipo de retorno
validate
Valide esse modelo recursivamente e retorne uma lista de ValidationError.
validate()
Retornos
Uma lista de erros de validação
Tipo de retorno
Azure SDK for Python