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
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ó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
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
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
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
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>
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
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
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
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
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>
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
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.
- start_task
- StartTask
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]
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]
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.
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]
- metadata
- list[MetadataItem]
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]
Isso dá suporte a Arquivos do Azure, NFS, CIFS/SMB e Blobfuse.
- target_node_communication_mode
- str ou NodeCommunicationMode
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:
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
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
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 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
Azure SDK for Python