CloudTask Classe
Tâche Azure Batch.
Batch effectue une nouvelle tentative de tâches lorsqu’une opération de récupération est déclenchée sur un nœud. Les exemples d’opérations de récupération incluent (sans s’y limiter) lorsqu’un nœud défectueux est redémarré ou qu’un nœud de calcul a disparu en raison d’une défaillance de l’hôte. Les nouvelles tentatives dues aux opérations de récupération sont indépendantes de et ne sont pas comptabilisées dans maxTaskRetryCount. Même si maxTaskRetryCount est 0, une nouvelle tentative interne en raison d’une opération de récupération peut se produire. Pour cette raison, toutes les tâches doivent être idempotentes. Cela signifie que les tâches doivent tolérer l’interruption et le redémarrage sans provoquer d’altération ou de doublon des données. La meilleure pratique pour les tâches de longue durée consiste à utiliser une forme de point de contrôle.
- Héritage
-
CloudTask
Constructeur
CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)
Paramètres
- id
- str
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.
- display_name
- str
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.
- url
- str
- e_tag
- str
Il s’agit d’une chaîne opaque. Vous pouvez l’utiliser pour détecter si la tâche a changé entre les requêtes. En particulier, vous pouvez passer l’ETag lors de la mise à jour d’une tâche pour spécifier que vos modifications ne doivent prendre effet que si personne d’autre n’a modifié la tâche entre-temps.
- last_modified
- datetime
- creation_time
- datetime
- exit_conditions
- ExitConditions
Comment le service Batch doit répondre lorsque la tâche est terminée.
État actuel de la tâche. Les valeurs possibles sont les suivantes : 'active', 'preparing', 'running', 'completed'
- state_transition_time
- datetime
État précédent de la tâche. Cette propriété n’est pas définie si la tâche est dans son état initial Actif. Les valeurs possibles sont les suivantes : 'active', 'preparing', 'running', 'completed'
- previous_state_transition_time
- datetime
Cette propriété n’est pas définie si la tâche est dans son état initial Actif.
- command_line
- str
Pour les tâches multi-instance, la ligne de commande est exécutée en tant que tâche principale, une fois que la tâche principale et toutes les tâches subordonnées ont terminé l’exécution de la ligne de commande de coordination. La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’expansion des variables d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Si la ligne de commande fait référence à des chemins de fichier, elle doit utiliser un chemin relatif (relatif au répertoire de travail De la tâche) ou utiliser la variable d’environnement fournie par Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
- container_settings
- TaskContainerSettings
Paramètres du conteneur sous lequel la tâche s’exécute. Si le pool qui exécutera cette tâche a containerConfiguration set, celui-ci doit également être défini. Si le pool qui exécutera cette tâche n’a pas de conteneurConfiguration défini, cela ne doit pas être défini. Lorsque cela est spécifié, tous les répertoires sous le AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande Tâche est exécutée dans le conteneur. Les fichiers produits dans le conteneur en dehors de AZ_BATCH_NODE_ROOT_DIR peuvent ne pas être répercutés sur le disque hôte, ce qui signifie que les API de fichiers Batch ne pourront pas accéder à ces fichiers.
- resource_files
- list[ResourceFile]
Pour les tâches multi-instance, les fichiers de ressources sont uniquement téléchargés sur le nœud de calcul sur lequel la tâche principale est exécutée. Il existe une taille maximale pour la liste des fichiers de ressources. Lorsque la taille maximale est dépassée, la demande échoue et le code d’erreur de réponse est RequestEntityTooLarge. Si cela se produit, la collection de ResourceFiles doit être réduite en taille. Vous pouvez y parvenir à l’aide de fichiers .zip, de packages d’application ou de conteneurs Docker.
- output_files
- list[OutputFile]
Pour les tâches multi-instance, les fichiers sont uniquement chargés à partir du nœud de calcul sur lequel la tâche principale est exécutée.
- environment_settings
- list[EnvironmentSetting]
- affinity_info
- AffinityInformation
Indicateur de localité qui peut être utilisé par le service Batch pour sélectionner un nœud de calcul sur lequel démarrer la nouvelle tâche.
- required_slots
- int
Nombre d’emplacements de planification dont la tâche a besoin pour s’exécuter. La valeur par défaut est 1. Une tâche peut être planifiée pour s’exécuter sur un nœud de calcul uniquement si le nœud dispose de suffisamment d’emplacements de planification disponibles. Pour les tâches instance multiples, il doit s’agir de 1.
- user_identity
- UserIdentity
Identité de l’utilisateur sous laquelle la tâche s’exécute. Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche.
- node_info
- ComputeNodeInformation
Informations sur le nœud de calcul sur lequel la tâche s’est exécutée.
- multi_instance_settings
- MultiInstanceSettings
Objet qui indique que la tâche est une tâche multi-instance et contient des informations sur l’exécution de la tâche multi-instance.
- depends_on
- TaskDependencies
Tâches dont dépend cette tâche. Cette tâche n’est pas planifiée tant que toutes les tâches dont elle dépend n’ont pas réussi. Si l’une de ces tâches échoue et épuise son nombre de nouvelles tentatives, cette tâche ne sera jamais planifiée.
- application_package_references
- list[ApplicationPackageReference]
Les packages d’application sont téléchargés et déployés dans un répertoire partagé, et non dans le répertoire de travail Task. Par conséquent, si un package référencé se trouve déjà sur le nœud et est à jour, il n’est pas re-téléchargé ; la copie existante sur le nœud de calcul est utilisée. Si un package référencé ne peut pas être installé, par exemple parce que le package a été supprimé ou parce que le téléchargement a échoué, la tâche échoue.
- authentication_token_settings
- AuthenticationTokenSettings
Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch. Si cette propriété est définie, le service Batch fournit à la tâche un jeton d’authentification qui peut être utilisé pour authentifier les opérations du service Batch sans nécessiter de clé d’accès au compte. Le jeton est fourni via la variable d’environnement AZ_BATCH_AUTHENTICATION_TOKEN. Les opérations que la tâche peut effectuer à l’aide du jeton dépendent des paramètres. Par exemple, une tâche peut demander des autorisations de travail afin d’ajouter d’autres tâches au travail, ou case activée la status du travail ou d’autres tâches sous le travail.
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 :
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
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
Retours
Une instance de ce modèle
Exceptions
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
- key_extractors
Retours
Une instance de ce modèle
Exceptions
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
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
Azure SDK for Python