Compartilhar via


PoolSpecification Classe

Especificação para criar um novo Pool.

Todos os parâmetros necessários devem ser preenchidos para enviar ao Azure.

Herança
PoolSpecification

Construtor

PoolSpecification(*, vm_size: str, display_name: str = None, cloud_service_configuration=None, virtual_machine_configuration=None, task_slots_per_node: int = None, task_scheduling_policy=None, resize_timeout=None, target_dedicated_nodes: int = None, target_low_priority_nodes: int = None, enable_auto_scale: bool = None, auto_scale_formula: str = None, auto_scale_evaluation_interval=None, enable_inter_node_communication: bool = None, network_configuration=None, start_task=None, certificate_references=None, application_package_references=None, application_licenses=None, user_accounts=None, metadata=None, mount_configuration=None, target_node_communication_mode=None, **kwargs)

Parâmetros

display_name
str
Obrigatório

O nome de exibição não precisa ser exclusivo e pode conter caracteres Unicode até um comprimento máximo de 1024.

vm_size
str
Obrigatório

Obrigatórios. Para obter informações sobre os tamanhos disponíveis de máquinas virtuais em Pools, consulte Escolher um tamanho de VM para nós de computação em um pool de Lote do Azure (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).

cloud_service_configuration
CloudServiceConfiguration
Obrigatório

A configuração do serviço de nuvem para o Pool. Essa propriedade deverá ser especificada se o Pool precisar ser criado com VMs paaS do Azure. Essa propriedade e virtualMachineConfiguration são mutuamente exclusivas e uma das propriedades deve ser especificada. Se nenhum dos dois for especificado, o serviço do Lote retornará um erro; se você estiver chamando a API REST diretamente, o código http status será 400 (solicitação incorreta). Essa propriedade não poderá ser especificada se a Conta do Lote foi criada com sua propriedade poolAllocationMode definida como 'UserSubscription'.

virtual_machine_configuration
VirtualMachineConfiguration
Obrigatório

A configuração da máquina virtual para o Pool. Essa propriedade deve ser especificada se o Pool precisar ser criado com VMs IaaS do Azure. Essa propriedade e cloudServiceConfiguration são mutuamente exclusivas e uma das propriedades deve ser especificada. Se nenhum dos dois for especificado, o serviço do Lote retornará um erro; se você estiver chamando a API REST diretamente, o código http status será 400 (solicitação incorreta).

task_slots_per_node
int
Obrigatório

O número de slots de tarefas que podem ser usados para executar tarefas simultâneas em um único nó de computação no pool. O valor padrão é 1. O valor máximo é o menor de 4 vezes o número de núcleos do vmSize do pool ou 256.

task_scheduling_policy
TaskSchedulingPolicy
Obrigatório

Como as tarefas são distribuídas entre nós de computação em um pool. Se não for especificado, o padrão será distribuído.

resize_timeout
<xref:timedelta>
Obrigatório

Esse tempo limite se aplica apenas ao dimensionamento manual; ele não tem efeito quando enableAutoScale é definido como true. O valor padrão é 15 minutos. O valor mínimo é 5 minutos. Se você especificar um valor menor que 5 minutos, o serviço do Lote rejeitará a solicitação com um erro; se você estiver chamando a API REST diretamente, o código http status será 400 (solicitação incorreta).

target_dedicated_nodes
int
Obrigatório

O número desejado de nós de computação dedicados no pool. Essa propriedade não deverá ser especificada se enableAutoScale estiver definido como true. Se enableAutoScale estiver definido como false, você deverá definir targetDedicatedNodes, targetLowPriorityNodes ou ambos.

target_low_priority_nodes
int
Obrigatório

O número desejado de nós de computação spot/de baixa prioridade no pool. Essa propriedade não deverá ser especificada se enableAutoScale estiver definido como true. Se enableAutoScale estiver definido como false, você deverá definir targetDedicatedNodes, targetLowPriorityNodes ou ambos.

enable_auto_scale
bool
Obrigatório

Se o tamanho do Pool deve ser ajustado automaticamente ao longo do tempo. Se false, pelo menos um dos targetDedicatedNodes e targetLowPriorityNodes devem ser especificados. Se for true, o elemento autoScaleFormula será necessário. O Pool redimensiona automaticamente de acordo com a fórmula. O valor padrão é false.

auto_scale_formula
str
Obrigatório

Essa propriedade não deve ser especificada se enableAutoScale estiver definido como false. Ele será necessário se enableAutoScale estiver definido como true. A fórmula é verificada quanto à validade antes da criação do Pool. Se a fórmula não for válida, o serviço do Lote rejeitará a solicitação com informações detalhadas de erro.

auto_scale_evaluation_interval
<xref:timedelta>
Obrigatório

O valor padrão é 15 minutos. O valor mínimo e máximo são 5 minutos e 168 horas, respectivamente. Se você especificar um valor menor que 5 minutos ou superior a 168 horas, o serviço do Lote rejeitará a solicitação com um erro de valor de propriedade inválido; se você estiver chamando a API REST diretamente, o código http status será 400 (solicitação incorreta).

enable_inter_node_communication
bool
Obrigatório

Se o Pool permite comunicação direta entre nós de computação. Habilitar a comunicação entre nós limita o tamanho máximo do Pool devido a restrições de implantação nos Nós de Computação do Pool. Isso pode fazer com que o Pool não atinja o tamanho desejado. O valor padrão é false.

network_configuration
NetworkConfiguration
Obrigatório

A configuração de rede para o Pool.

start_task
StartTask
Obrigatório

Uma Tarefa a ser executada em cada Nó de Computação à medida que ele ingressa no Pool. A Tarefa é executada quando o Nó de Computação é adicionado ao Pool ou quando o Nó de Computação é reiniciado.

certificate_references
list[CertificateReference]
Obrigatório

Para nós do Windows, o serviço lote instala os Certificados no repositório e local especificados do Certificado. Para nós de computação do Linux, os Certificados são armazenados em um diretório dentro do diretório de trabalho tarefa e uma variável de ambiente AZ_BATCH_CERTIFICATES_DIR é fornecida à Tarefa para consultar esse local. Para Certificados com visibilidade de 'remoteUser', um diretório 'certs' é criado no diretório base do usuário (por exemplo, /home/{user-name}/certs) e Certificados são colocados nesse diretório. Aviso: essa propriedade foi preterida e será removida após fevereiro de 2024. Em vez disso, use a Extensão do Azure KeyVault .

application_package_references
list[ApplicationPackageReference]
Obrigatório

Ao criar um pool, a ID do aplicativo do pacote deve ser totalmente qualificada (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). As alterações nas referências de pacote afetam todos os novos nós que ingressam no Pool, mas não afetam os Nós de Computação que já estão no Pool até que sejam reinicializados ou reimagem. Há no máximo 10 referências de pacote em qualquer pool especificado.

application_licenses
list[str]
Obrigatório

A lista de licenças de aplicativo deve ser um subconjunto de licenças de aplicativo de serviço do Lote disponíveis. Se uma licença for solicitada sem suporte, a criação do pool falhará. As licenças permitidas disponíveis no Pool são 'maya', 'vray', '3dsmax', 'arnold'. Uma cobrança adicional se aplica a cada licença de aplicativo adicionada ao Pool.

user_accounts
list[UserAccount]
Obrigatório
metadata
list[MetadataItem]
Obrigatório

O serviço do Lote não atribui nenhum significado aos metadados; ele é apenas para o uso do código do usuário.

mount_configuration
list[MountConfiguration]
Obrigatório

Isso dá suporte a Arquivos do Azure, NFS, CIFS/SMB e Blobfuse.

target_node_communication_mode
str ou NodeCommunicationMode
Obrigatório

O modo de comunicação de nó desejado para o pool. Se omitido, o valor padrão será Default. Os valores possíveis incluem: 'default', 'classic', 'simplificado'

Métodos

as_dict

Retornar um ditado que pode ser JSONify usando json.dump.

O uso avançado pode, opcionalmente, usar um retorno de chamada como parâmetro:

Key é o nome do atributo usado no Python. Attr_desc é um ditado 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.

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.

O uso avançado pode, opcionalmente, usar um retorno de chamada como parâmetro:

Key é o nome do atributo usado no Python. Attr_desc é um ditado 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
valor padrão: True

Retornos

Um objeto compatível com JSON de ditado

Tipo de retorno

deserialize

Analise um str usando a sintaxe RestAPI e retorne um modelo.

deserialize(data, content_type=None)

Parâmetros

data
str
Obrigatório

Um str usando a estrutura RestAPI. JSON por padrão.

content_type
str
valor padrão: None

JSON por padrão, defina application/xml se XML.

Retornos

Uma instância desse modelo

Exceções

DeserializationError if something went wrong

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

data
dict
Obrigatório

Um ditado usando a estrutura RestAPI

content_type
str
valor padrão: None

JSON por padrão, defina application/xml se XML.

key_extractors
valor padrão: None

Retornos

Uma instância desse modelo

Exceções

DeserializationError if something went wrong

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

keep_readonly
bool
valor padrão: False

Se você quiser serializar os atributos somente leitura

Retornos

Um objeto compatível com JSON de ditado

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