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
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
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
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
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
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
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>
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
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
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
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
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>
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
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.
- start_task
- StartTask
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]
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]
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.
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]
- metadata
- list[MetadataItem]
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]
Isto suporta Ficheiros do Azure, NFS, CIFS/SMB e Blobfuse.
- target_node_communication_mode
- str ou NodeCommunicationMode
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:
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
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
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
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
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
Azure SDK for Python