Partager via


CloudPool Classe

Pool dans le service Azure Batch.

Les variables sont uniquement remplies par le serveur et sont ignorées lors de l’envoi d’une demande.

Héritage
CloudPool

Constructeur

CloudPool(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, state=None, state_transition_time=None, allocation_state=None, allocation_state_transition_time=None, vm_size: str = None, cloud_service_configuration=None, virtual_machine_configuration=None, resize_timeout=None, resize_errors=None, current_dedicated_nodes: int = None, current_low_priority_nodes: int = 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, auto_scale_run=None, enable_inter_node_communication: bool = None, network_configuration=None, start_task=None, certificate_references=None, application_package_references=None, application_licenses=None, task_slots_per_node: int = None, task_scheduling_policy=None, user_accounts=None, metadata=None, stats=None, mount_configuration=None, identity=None, target_node_communication_mode=None, **kwargs)

Paramètres

id
str
Obligatoire

L’ID peut contenir n’importe quelle combinaison de caractères alphanumériques, y compris des traits d’union et des traits de soulignement, et ne peut pas contenir plus de 64 caractères. L’ID respecte la casse et ne respecte pas la casse (autrement dit, il se peut que vous n’ayez pas deux ID dans un compte qui diffèrent uniquement par la casse).

display_name
str
Obligatoire

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

url
str
Obligatoire
e_tag
str
Obligatoire

Il s’agit d’une chaîne opaque. Vous pouvez l’utiliser pour détecter si le pool a changé entre les requêtes. En particulier, vous pouvez passer l’ETag lors de la mise à jour d’un pool pour spécifier que vos modifications ne doivent prendre effet que si personne d’autre n’a modifié le pool entre-temps.

last_modified
datetime
Obligatoire

Il s’agit de la dernière modification des données au niveau du pool, telles que les paramètres targetDedicatedNodes ou enableAutoscale. Il ne prend pas en compte les changements au niveau du nœud, comme le changement d’état d’un nœud de calcul.

creation_time
datetime
Obligatoire
state
str ou PoolState
Obligatoire

Les valeurs possibles sont les suivantes : 'active', 'suppression'

state_transition_time
datetime
Obligatoire
allocation_state
str ou AllocationState
Obligatoire

Les valeurs possibles sont les suivantes : 'stable', 'redimensionnement', 'arrêt'

allocation_state_transition_time
datetime
Obligatoire
vm_size
str
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é et virtualMachineConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. 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é et cloudServiceConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée.

resize_timeout
<xref:timedelta>
Obligatoire

Il s’agit du délai d’attente de l’opération de redimensionnement la plus récente. (Le dimensionnement initial lors de la création du pool est comptabilisé comme un redimensionnement.) La valeur par défaut est 15 minutes.

resize_errors
list[ResizeError]
Obligatoire

Cette propriété est définie uniquement si une ou plusieurs erreurs se sont produites lors du dernier redimensionnement du pool, et uniquement lorsque l’allocationState du pool est stable.

current_dedicated_nodes
int
Obligatoire

Nombre de nœuds de calcul dédiés actuellement dans le pool.

current_low_priority_nodes
int
Obligatoire

Nombre de nœuds de calcul spot/basse priorité actuellement dans le pool. Les nœuds de calcul spot/basse priorité qui ont été préemptés sont inclus dans ce nombre.

target_dedicated_nodes
int
Obligatoire

Nombre souhaité de nœuds de calcul dédiés dans le pool.

target_low_priority_nodes
int
Obligatoire

Nombre souhaité de nœuds de calcul spot/basse priorité dans le pool.

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 doivent être spécifiés. Si la valeur est true, la propriété autoScaleFormula est requise et 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é est définie uniquement si le pool est automatiquement mis à l’échelle, c’est-à-dire si enableAutoScale a la valeur true.

auto_scale_evaluation_interval
<xref:timedelta>
Obligatoire

Cette propriété est définie uniquement si le pool est automatiquement mis à l’échelle, c’est-à-dire si enableAutoScale a la valeur true.

auto_scale_run
AutoScaleRun
Obligatoire

Résultats et erreurs de la dernière exécution de la formule de mise à l’échelle automatique. Cette propriété est définie uniquement si le pool est automatiquement mis à l’échelle, c’est-à-dire si enableAutoScale a la valeur true.

enable_inter_node_communication
bool
Obligatoire

Indique si le pool autorise la communication directe entre les nœuds de calcul. Cela impose des restrictions sur les nœuds de calcul pouvant être affectés au pool. La spécification de cette valeur peut réduire le risque que le nombre demandé de nœuds de calcul soit alloué dans le pool.

network_configuration
NetworkConfiguration
Obligatoire

Configuration réseau pour le pool.

start_task
StartTask
Obligatoire

Tâche spécifiée pour s’exécuter sur chaque nœud de calcul à mesure qu’il rejoint le pool.

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 interroger cet emplacement. Pour les certificats avec la visibilité de « remoteUser », un répertoire « certs » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/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

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éimagenés. 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 qui n’est pas prise en charge est demandée, la création du pool échoue.

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 de la 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.

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

Statistiques d’utilisation et d’utilisation des ressources pour toute la durée de vie du pool. Cette propriété n’est renseignée que si le CloudPool a été récupéré avec une clause expand incluant l’attribut « stats » ; sinon, elle est null. Les statistiques peuvent ne pas être disponibles immédiatement. Le service Batch effectue un cumul périodique des statistiques. Le délai classique est d’environ 30 minutes.

mount_configuration
list[MountConfiguration]
Obligatoire

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

identity
BatchPoolIdentity
Obligatoire

Identité du pool Batch, s’il est configuré. Liste des identités d’utilisateur associées au pool Batch. Les références de clé de dictionnaire d’identité utilisateur sont des ID de ressource ARM au format « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ».

target_node_communication_mode
str ou NodeCommunicationMode
Obligatoire

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

Variables

current_node_communication_mode
str ou NodeCommunicationMode

État actuel du mode de communication du pool. Les valeurs possibles sont les suivantes : 'default', 'classic', 'simplified'

Méthodes

as_dict

Retourne un dict 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 une 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 de cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, il 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 la sérialisation XML, vous pouvez passer les kwargs is_xml=True.

deserialize

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

enable_additional_properties_sending
from_dict

Analyser une 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 la 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 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 une 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 de cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, il 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 la 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 dict

Type de retour

deserialize

Analysez une 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

Analyser une 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 la 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 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