Partager via


PoolSpecification Classe

Spécification pour la création d’un pool.

Tous les paramètres requis doivent être renseignés pour pouvoir être envoyés à Azure.

Héritage
PoolSpecification

Constructeur

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)

Paramètres

display_name
str
Obligatoire

Le nom d’affichage n’a pas besoin d’être unique et peut contenir des caractères Unicode d’une longueur maximale de 1 024.

vm_size
str
Obligatoire

Obligatoire. Pour plus d’informations sur les tailles disponibles des machines virtuelles dans les pools, consultez Choisir une taille de machine virtuelle pour les nœuds de calcul dans un pool Azure Batch (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).

cloud_service_configuration
CloudServiceConfiguration
Obligatoire

Configuration du service cloud pour le pool. Cette propriété doit être spécifiée si le pool doit être créé avec des machines virtuelles PaaS Azure. Cette propriété et virtualMachineConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. Si aucun des deux n’est spécifié, le service Batch retourne une erreur ; si vous appelez directement l’API REST, le code http status est 400 (requête incorrecte). Cette propriété ne peut pas être spécifiée si le compte Batch a été créé avec sa propriété poolAllocationMode définie sur « UserSubscription ».

virtual_machine_configuration
VirtualMachineConfiguration
Obligatoire

Configuration de la machine virtuelle pour le pool. Cette propriété doit être spécifiée si le pool doit être créé avec des machines virtuelles IaaS Azure. Cette propriété et cloudServiceConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. Si aucun des deux n’est spécifié, le service Batch retourne une erreur ; si vous appelez directement l’API REST, le code http status est 400 (requête incorrecte).

task_slots_per_node
int
Obligatoire

Nombre d’emplacements de tâche utilisables pour exécuter des tâches simultanées sur un nœud de calcul unique au sein du pool. La valeur par défaut est 1. La valeur maximale est la plus petite de 4 fois le nombre de cœurs du vmSize du pool ou 256.

task_scheduling_policy
TaskSchedulingPolicy
Obligatoire

Comment les tâches sont distribuées entre les nœuds de calcul dans un pool. Si elle n’est pas spécifiée, la valeur par défaut est répartie.

resize_timeout
<xref:timedelta>
Obligatoire

Ce délai d’expiration s’applique uniquement à la mise à l’échelle manuelle ; elle n’a aucun effet lorsque enableAutoScale est défini sur true. La valeur par défaut est 15 minutes. La valeur minimale est de 5 minutes. Si vous spécifiez une valeur inférieure à 5 minutes, le service Batch rejette la demande avec une erreur ; si vous appelez directement l’API REST, le code http status est 400 (requête incorrecte).

target_dedicated_nodes
int
Obligatoire

Nombre souhaité de nœuds de calcul dédiés dans le pool. Cette propriété ne doit pas être spécifiée si enableAutoScale a la valeur true. Si enableAutoScale a la valeur false, vous devez définir targetDedicatedNodes, targetLowPriorityNodes, ou les deux.

target_low_priority_nodes
int
Obligatoire

Nombre souhaité de nœuds de calcul spot/basse priorité dans le pool. Cette propriété ne doit pas être spécifiée si enableAutoScale a la valeur true. Si enableAutoScale a la valeur false, vous devez définir targetDedicatedNodes, targetLowPriorityNodes, ou les deux.

enable_auto_scale
bool
Obligatoire

Indique si la taille du pool doit s’ajuster automatiquement au fil du temps. Si la valeur est false, au moins un des targetDedicatedNodes et targetLowPriorityNodes doit être spécifié. Si la valeur est true, l’élément autoScaleFormula est requis. Le pool se redimensionne automatiquement en fonction de la formule. La valeur par défaut est false.

auto_scale_formula
str
Obligatoire

Cette propriété ne doit pas être spécifiée si enableAutoScale a la valeur false. Elle est requise si enableAutoScale a la valeur true. La validité de la formule est vérifiée avant la création du pool. Si la formule n’est pas valide, le service Batch rejette la demande avec des informations d’erreur détaillées.

auto_scale_evaluation_interval
<xref:timedelta>
Obligatoire

La valeur par défaut est 15 minutes. Les valeurs minimale et maximale sont respectivement de 5 minutes et de 168 heures. Si vous spécifiez une valeur inférieure à 5 minutes ou supérieure à 168 heures, le service Batch rejette la demande avec une erreur de valeur de propriété non valide ; si vous appelez directement l’API REST, le code http status est 400 (requête incorrecte).

enable_inter_node_communication
bool
Obligatoire

Indique si le pool autorise la communication directe entre les nœuds de calcul. L’activation de la communication entre nœuds limite la taille maximale du pool en raison des restrictions de déploiement sur les nœuds de calcul du pool. Il se peut que le pool n’atteigne pas la taille souhaitée. La valeur par défaut est false.

network_configuration
NetworkConfiguration
Obligatoire

Configuration réseau pour le pool.

start_task
StartTask
Obligatoire

Tâche à exécuter sur chaque nœud de calcul à mesure qu’il rejoint le pool. La tâche s’exécute lorsque le nœud de calcul est ajouté au pool ou lorsque le nœud de calcul est redémarré.

certificate_references
list[CertificateReference]
Obligatoire

Pour les nœuds Windows, le service Batch installe les certificats dans le magasin de certificats et l’emplacement spécifiés. Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour rechercher cet emplacement. Pour les certificats avec une visibilité de « remoteUser », un répertoire « certs » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{nom-utilisateur}/certs) et les certificats sont placés dans ce répertoire. Avertissement : cette propriété est déconseillée et sera supprimée après février 2024. Utilisez plutôt l’extension Azure KeyVault .

application_package_references
list[ApplicationPackageReference]
Obligatoire

Lors de la création d’un pool, l’ID d’application du package doit être complet (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Les modifications apportées aux références de package affectent tous les nouveaux nœuds qui rejoignent le pool, mais n’affectent pas les nœuds de calcul qui se trouvent déjà dans le pool tant qu’ils n’ont pas été redémarrés ou réinitialisé. Il existe un maximum de 10 références de package sur un pool donné.

application_licenses
list[str]
Obligatoire

La liste des licences d’application doit être un sous-ensemble des licences d’application de service Batch disponibles. Si une licence non prise en charge est demandée, la création du pool échoue. Les licences autorisées disponibles sur le pool sont « maya », « vray », « 3dsmax », « arnold ». Des frais supplémentaires s’appliquent pour chaque licence d’application ajoutée au pool.

user_accounts
list[UserAccount]
Obligatoire
metadata
list[MetadataItem]
Obligatoire

Le service Batch n’attribue aucune signification aux métadonnées ; il s’agit uniquement de l’utilisation du code utilisateur.

mount_configuration
list[MountConfiguration]
Obligatoire

Cela prend en charge Azure Files, NFS, CIFS/SMB et Blobfuse.

target_node_communication_mode
str ou NodeCommunicationMode
Obligatoire

Mode de communication de nœud souhaité pour le pool. Si elle est omise, la valeur par défaut est Default. Les valeurs possibles sont les suivantes : 'default', 'classic', 'simplified'

Méthodes

as_dict

Retourne un dictée qui peut être JSONify à l’aide de json.dump.

L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :

La clé est le nom d’attribut utilisé dans Python. Attr_desc est un dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle dans cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, cela est considéré comme un dicté de résultat hiérarchique.

Consultez les trois exemples de ce fichier :

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

deserialize

Analysez un str à l’aide de la syntaxe RestAPI et retournez un modèle.

enable_additional_properties_sending
from_dict

L’analyse d’un dicté à l’aide de l’extracteur de clé donné retourne un modèle.

Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Retourne le JSON qui serait envoyé à Azure à partir de ce modèle.

Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

validate

Validez ce modèle de manière récursive et retournez une liste de ValidationError.

as_dict

Retourne un dictée qui peut être JSONify à l’aide de json.dump.

L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :

La clé est le nom d’attribut utilisé dans Python. Attr_desc est un dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle dans cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, cela est considéré comme un dicté de résultat hiérarchique.

Consultez les trois exemples de ce fichier :

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Paramètres

key_transformer
<xref:function>

Fonction de transformateur de clé.

keep_readonly
valeur par défaut: True

Retours

Objet compatible JSON de dict

Type de retour

deserialize

Analysez un str à l’aide de la syntaxe RestAPI et retournez un modèle.

deserialize(data, content_type=None)

Paramètres

data
str
Obligatoire

Str utilisant la structure RestAPI. JSON par défaut.

content_type
str
valeur par défaut: None

JSON par défaut, définissez application/xml si XML.

Retours

Une instance de ce modèle

Exceptions

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

L’analyse d’un dicté à l’aide de l’extracteur de clé donné retourne un modèle.

Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

Paramètres

data
dict
Obligatoire

Dict utilisant la structure RestAPI

content_type
str
valeur par défaut: None

JSON par défaut, définissez application/xml si XML.

key_extractors
valeur par défaut: None

Retours

Une instance de ce modèle

Exceptions

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Retourne le JSON qui serait envoyé à Azure à partir de ce modèle.

Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Paramètres

keep_readonly
bool
valeur par défaut: False

Si vous souhaitez sérialiser les attributs readonly

Retours

Objet compatible JSON de dict

Type de retour

validate

Validez ce modèle de manière récursive et retournez une liste de ValidationError.

validate()

Retours

Liste des erreurs de validation

Type de retour