Partilhar via


PoolSpecification Classe

Especificação para criar um novo Conjunto.

Todos os parâmetros necessários têm de ser preenchidos para enviar para o 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
Necessário

O nome a apresentar não tem de ser exclusivo e pode conter carateres Unicode até um comprimento máximo de 1024.

vm_size
str
Necessário

Obrigatório. Para obter informações sobre os tamanhos disponíveis de máquinas virtuais em Conjuntos, veja Escolher um tamanho de VM para Nós de Computação num Conjunto de Azure Batch (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).

cloud_service_configuration
CloudServiceConfiguration
Necessário

A configuração do serviço cloud para o Conjunto. Esta propriedade tem de ser especificada se o Conjunto precisar de ser criado com VMs PaaS do Azure. Esta propriedade e virtualMachineConfiguration são mutuamente exclusivas e uma das propriedades tem de ser especificada. Se nenhum dos dois for especificado, o serviço Batch devolve um erro; se estiver a chamar a API REST diretamente, o código de estado HTTP é 400 (Pedido Incorreto). Não é possível especificar esta propriedade se a Conta do Batch tiver sido criada com a respetiva propriedade poolAllocationMode definida como "UserSubscription".

virtual_machine_configuration
VirtualMachineConfiguration
Necessário

A configuração da máquina virtual para o Conjunto. Esta propriedade tem de ser especificada se o Conjunto precisar de ser criado com VMs IaaS do Azure. Esta propriedade e cloudServiceConfiguration são mutuamente exclusivas e uma das propriedades tem de ser especificada. Se nenhum dos dois for especificado, o serviço Batch devolve um erro; se estiver a chamar a API REST diretamente, o código de estado HTTP é 400 (Pedido Incorreto).

task_slots_per_node
int
Necessário

O número de blocos de tarefas que podem ser utilizados para executar tarefas simultâneas num único nó de computação no conjunto. O valor predefinido é 1. O valor máximo é o menor de 4 vezes o número de núcleos da vmSize do conjunto ou 256.

task_scheduling_policy
TaskSchedulingPolicy
Necessário

Como as Tarefas são distribuídas pelos Nós de Computação num Conjunto. Se não for especificado, a predefinição é distribuída.

resize_timeout
<xref:timedelta>
Necessário

Este tempo limite aplica-se apenas ao dimensionamento manual; não tem qualquer efeito quando enableAutoScale está definido como verdadeiro. O valor predefinido é 15 minutos. O valor mínimo é 5 minutos. Se especificar um valor inferior a 5 minutos, o serviço Batch rejeita o pedido com um erro; se estiver a chamar a API REST diretamente, o código de estado HTTP é 400 (Pedido Incorreto).

target_dedicated_nodes
int
Necessário

O número pretendido de Nós de Computação dedicados no Conjunto. Esta propriedade não pode ser especificada se enableAutoScale estiver definido como verdadeiro. Se enableAutoScale estiver definido como falso, tem de definir targetDedicatedNodes, targetLowPriorityNodes ou ambos.

target_low_priority_nodes
int
Necessário

O número pretendido de Nós de Computação Spot/Low-priority no Conjunto. Esta propriedade não pode ser especificada se enableAutoScale estiver definido como verdadeiro. Se enableAutoScale estiver definido como falso, tem de definir targetDedicatedNodes, targetLowPriorityNodes ou ambos.

enable_auto_scale
bool
Necessário

Se o tamanho do Conjunto deve ser ajustado automaticamente ao longo do tempo. Se for falso, tem de ser especificado pelo menos um dos targetDedicatedNodes e targetLowPriorityNodes. Se for verdadeiro, é necessário o elemento autoScaleFormula. O Conjunto redimensiona automaticamente de acordo com a fórmula. O valor predefinido é false.

auto_scale_formula
str
Necessário

Esta propriedade não pode ser especificada se enableAutoScale estiver definido como falso. É necessário se enableAutoScale estiver definido como verdadeiro. A fórmula é verificada quanto à validade antes da criação do Conjunto. Se a fórmula não for válida, o serviço Batch rejeita o pedido com informações de erro detalhadas.

auto_scale_evaluation_interval
<xref:timedelta>
Necessário

O valor predefinido é 15 minutos. O valor mínimo e máximo são 5 minutos e 168 horas, respetivamente. Se especificar um valor inferior a 5 minutos ou superior a 168 horas, o serviço Batch rejeita o pedido com um erro de valor de propriedade inválido; se estiver a chamar a API REST diretamente, o código de estado HTTP é 400 (Pedido Incorreto).

enable_inter_node_communication
bool
Necessário

Se o Conjunto permite a comunicação direta entre Nós de Computação. Ativar a comunicação entre nós limita o tamanho máximo do Conjunto devido a restrições de implementação nos Nós de Computação do Conjunto. Isto pode fazer com que o Conjunto não atinja o tamanho pretendido. O valor predefinido é false.

network_configuration
NetworkConfiguration
Necessário

A configuração de rede do Conjunto.

start_task
StartTask
Necessário

Uma Tarefa a executar em cada Nó de Computação à medida que se associa ao Conjunto. A Tarefa é executada quando o Nó de Computação é adicionado ao Conjunto ou quando o Nó de Computação é reiniciado.

certificate_references
list[CertificateReference]
Necessário

Para Os Nós do Windows, o serviço Batch instala os Certificados no arquivo e localização de Certificados especificados. Para Nós de Computação do Linux, os Certificados são armazenados num diretório dentro do diretório de trabalho de tarefas e é fornecida uma variável de ambiente AZ_BATCH_CERTIFICATES_DIR à Tarefa para consultar esta localização. Para Certificados com visibilidade de "remoteUser", é criado um diretório "certificados" no diretório principal do utilizador (por exemplo, /home/{user-name}/certs) e os Certificados são colocados nesse diretório. Aviso: esta propriedade foi preterida e será removida após fevereiro de 2024. Em alternativa, utilize a Extensão Azure KeyVault .

application_package_references
list[ApplicationPackageReference]
Necessário

Ao criar um conjunto, o ID da aplicação do pacote tem de ser completamente qualificado (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). As alterações às referências de Pacotes afetam todos os novos Nós que associam o Conjunto, mas não afetam os Nós de Computação que já se encontram no Conjunto até serem reiniciados ou reimagedos. Existe um máximo de 10 Referências de pacotes em qualquer conjunto especificado.

application_licenses
list[str]
Necessário

A lista de licenças de aplicação tem de ser um subconjunto de licenças de aplicações do serviço Batch disponíveis. Se for pedida uma licença que não é suportada, a criação do Conjunto falhará. As licenças permitidas disponíveis no Conjunto são "maya", "vray", "3dsmax", "arnold". Aplica-se um custo adicional para cada licença de aplicação adicionada ao Conjunto.

user_accounts
list[UserAccount]
Necessário
metadata
list[MetadataItem]
Necessário

O serviço Batch não atribui qualquer significado aos metadados; destina-se exclusivamente à utilização do código de utilizador.

mount_configuration
list[MountConfiguration]
Necessário

Isto suporta Ficheiros do Azure, NFS, CIFS/SMB e Blobfuse.

target_node_communication_mode
str ou NodeCommunicationMode
Necessário

O modo de comunicação de nó pretendido para o conjunto. Se omitido, o valor predefinido é Predefinido. Os valores possíveis incluem: "predefinição", "clássico", "simplificado"

Métodos

as_dict

Devolva 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. Valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, este é considerado ditado 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 passar 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

Devolva 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 passar os kwargs is_xml=True.

validate

Valide este modelo de forma recursiva e devolva uma lista de ValidationError.

as_dict

Devolva 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. Valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, este é considerado ditado 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 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 chaves.

keep_readonly
valor predefinido: True

Devoluções

Um objeto compatível com JSON de dict

Tipo de retorno

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

deserialize(data, content_type=None)

Parâmetros

data
str
Necessário

Um str com a estrutura RestAPI. JSON por predefinição.

content_type
str
valor predefinido: None

JSON por predefinição, defina aplicação/xml se XML.

Devoluções

Uma instância deste modelo

Exceções

DeserializationError if something went wrong

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

data
dict
Necessário

Um ditado com a estrutura restAPI

content_type
str
valor predefinido: None

JSON por predefinição, defina aplicação/xml se XML.

key_extractors
valor predefinido: None

Devoluções

Uma instância deste modelo

Exceções

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Devolva 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 passar os kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parâmetros

keep_readonly
bool
valor predefinido: False

Se quiser serializar os atributos só de leitura

Devoluções

Um objeto compatível com JSON de dict

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