Tous les produits
Search
Centre de documentation

Elastic Compute Service:ModifyInvocationAttribute

Dernière mise à jour :Aug 18, 2026

Modifie les informations d'exécution d'une tâche planifiée Cloud Assistant, y compris le contenu de la commande, la méthode d'exécution planifiée et l'ajout d'instances ECS ou d'instances gérées à la tâche.

Description de l'opération

  • Vous pouvez modifier les tâches avec les modes d'exécution suivants (consultez la valeur RepeatMode renvoyée par DescribeInvocations) :
    • Period : exécution périodique.

    • NextRebootOnly : exécute automatiquement la commande au prochain démarrage de l'instance.

    • EveryReboot : exécute automatiquement la commande à chaque démarrage de l'instance.

  • Vous pouvez modifier les tâches dans les états suivants (consultez la valeur InvocationStatus renvoyée par DescribeInvocations) :
    • Pending : le système vérifie ou envoie la commande. Si l'état d'exécution de la commande sur au moins une instance est Pending, l'état d'exécution global est Pending.

    • Running : la commande s'exécute sur l'instance. Si l'état d'exécution de la commande sur au moins une instance est Running, l'état d'exécution global est Running.

    • Scheduled : la commande planifiée a été envoyée et est en attente d'exécution. Si l'état d'exécution de la commande sur au moins une instance est Scheduled, l'état d'exécution global est Scheduled.

    • Stopping : la tâche est en cours d'arrêt. Si l'état d'exécution de la commande sur au moins une instance est Stopping, l'état d'exécution global est Stopping.

  • Avant de modifier les informations d'exécution de la tâche planifiée (y compris le contenu de la commande, les paramètres personnalisés et la fréquence d'exécution), la version de l'agent Cloud Assistant sur les instances ECS ou les instances gérées ayant déjà exécuté la tâche doit être postérieure aux versions suivantes :
    • Linux : 2.2.3.541

    • Windows : 2.1.3.541

    • Si le résultat de l'appel renvoie le code d'erreur InvalidOperation.CloudAssistantVersionUnsupported, mettez à jour l'agent Cloud Assistant vers la dernière version.

  • Lorsque vous exécutez une commande commune Cloud Assistant, vous ne pouvez pas modifier le contenu de la commande CommandContent.

  • Lorsque vous modifiez le contenu de la commande CommandContent et que la tâche a été créée en appelant InvokeCommand ou RunCommand avec KeepCommand défini sur true, une nouvelle commande est créée pour une conservation à long terme, ce qui est décompté de votre quota de commandes Cloud Assistant. Vous pouvez conserver de 500 à 50 000 commandes Cloud Assistant dans une région. Vous pouvez également demander une augmentation de quota. Pour plus d'informations sur la façon de consulter et d'augmenter les quotas, consultez Gestion des quotas.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

ecs:ModifyInvocationAttribute

update

*Invocation.

acs:ecs:{#regionId}:{#accountId}:invocation/{#invocationId}

Instance.

acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}

Aucune Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

RegionId

string

Oui

L'identifiant de la région.

cn-hangzhou

InstanceId

array

Non

L'identifiant de l'instance ECS ou de l'instance gérée à ajouter à la tâche.

string

Non

L'identifiant de l'instance ECS ou de l'instance gérée à ajouter à la tâche. Le nombre total d'instances à ajouter et d'instances ayant déjà exécuté la tâche ne peut pas dépasser 100.

i-bp1i7gg30r52z2em****

InvokeId

string

Oui

L'identifiant d'exécution de la commande de la tâche à modifier.

t-hz0jdfwd9f****

CommandContent

string

Non

Le contenu de la commande modifiée. Le contenu de la commande peut être en texte brut ou encodé en Base64. Notez les points suivants :

  • La taille du contenu de la commande après encodage en Base64 ne peut pas dépasser 24 Ko.

  • Si le contenu de votre commande est encodé en Base64, vous devez définir ContentEncoding=Base64.

  • Vous pouvez activer la fonctionnalité de paramètres personnalisés dans le contenu de la commande en spécifiant EnableParameter=true :

    • Définissez les paramètres personnalisés en les entourant de {{}}. Les espaces et les sauts de ligne avant et après le nom du paramètre dans {{}} sont ignorés.

    • Le nombre de paramètres personnalisés ne peut pas dépasser 20.

    • Les noms des paramètres personnalisés peuvent contenir les caractères a-zA-Z0-9-_. Le préfixe acs:: pour spécifier des paramètres d'environnement non intégrés n'est pas pris en charge. Les autres caractères ne sont pas pris en charge. Les noms de paramètres ne sont pas sensibles à la casse.

    • Un seul nom de paramètre personnalisé ne peut pas dépasser 64 octets.

  • Vous pouvez spécifier des paramètres d'environnement intégrés en tant que paramètres personnalisés. Lorsque la commande est exécutée, vous n'avez pas besoin d'attribuer manuellement des valeurs aux paramètres. Cloud Assistant les remplace automatiquement par les valeurs correspondantes dans l'environnement. Les paramètres d'environnement intégrés suivants sont pris en charge :

    • {{ACS::RegionId}} : l'identifiant de la région.

    • {{ACS::AccountId}} : l'identifiant du compte Alibaba Cloud.

    • {{ACS::InstanceId}} : l'identifiant de l'instance. Lorsque la commande est envoyée à plusieurs instances, pour spécifier {{ACS::InstanceId}} en tant que paramètre d'environnement intégré, assurez-vous que la version de l'agent Cloud Assistant n'est pas antérieure aux versions suivantes :
      • Linux : 2.2.3.309

      • Windows : 2.1.3.309

    • {{ACS::InstanceName}} : le nom de l'instance. Lorsque la commande est envoyée à plusieurs instances, pour spécifier {{ACS::InstanceName}} en tant que paramètre d'environnement intégré, assurez-vous que la version de l'agent Cloud Assistant n'est pas antérieure aux versions suivantes :
      • Linux : 2.2.3.344

      • Windows : 2.1.3.344

    • {{ACS::InvokeId}} : l'identifiant d'exécution de la commande. Pour spécifier {{ACS::InvokeId}} en tant que paramètre d'environnement intégré, assurez-vous que la version de l'agent Cloud Assistant n'est pas antérieure aux versions suivantes :
      • Linux : 2.2.3.309

      • Windows : 2.1.3.309

    • {{ACS::CommandId}} : l'identifiant de la commande. Lorsque vous appelez cette opération pour exécuter une commande, pour spécifier {{ACS::CommandId}} en tant que paramètre d'environnement intégré, assurez-vous que la version de l'agent Cloud Assistant n'est pas antérieure aux versions suivantes :
      • Linux : 2.2.3.309

      • Windows : 2.1.3.309

ZWNobyAxMjM=

EnableParameter

boolean

Non

Indique si la commande modifiée contient des paramètres personnalisés.

  • Lorsque vous activez des paramètres personnalisés ou modifiez les paramètres personnalisés Parameters, définissez ce paramètre sur true.

  • Lorsque vous ne modifiez pas les paramètres personnalisés Parameters, ne définissez pas ce paramètre ou définissez-le sur false.

false

Parameters

object

Non

Les paires clé-valeur des paramètres personnalisés à modifier lorsque la commande contient des paramètres personnalisés.

Le nombre de paramètres personnalisés varie de 0 à 10. Notez les points suivants :

  • Les clés ne peuvent pas être des chaînes vides et peuvent contenir jusqu'à 64 caractères.

  • Les valeurs peuvent être des chaînes vides.

  • Une fois les paramètres personnalisés et le contenu de la commande d'origine encodés en Base64, la taille totale du contenu de la commande ne peut pas dépasser 24 Ko.

  • L'ensemble des noms de paramètres personnalisés doit être un sous-ensemble de l'ensemble de paramètres défini lors de la création de la commande. Pour les paramètres qui ne sont pas transmis, vous pouvez utiliser des chaînes vides comme substituts.

Valeur par défaut : vide, ce qui indique qu'aucune paire clé-valeur de paramètre personnalisé n'est modifiée.

{"name":"Jack", "accessKey":"LTAI*************"}

Frequency

string

Non

La fréquence d'exécution planifiée modifiée. Ce paramètre prend effet uniquement lorsque RepeatMode est défini sur Period. Trois types d'exécution planifiée sont pris en charge : l'exécution à intervalle fixe (basée sur les expressions Rate), l'exécution unique à une heure spécifiée et l'exécution planifiée basée sur l'horloge (basée sur les expressions Cron).

  • Exécution à intervalle fixe : basée sur les expressions Rate, la commande est exécutée à l'intervalle de temps spécifié. L'intervalle de temps peut être spécifié en secondes (s), minutes (m), heures (h) ou jours (d). Ceci est applicable aux scénarios où les tâches sont exécutées à intervalles fixes. Format : rate(<valeur d'intervalle><unité d'intervalle>). Par exemple, pour une exécution toutes les 5 minutes, utilisez rate(5m). L'exécution à intervalle fixe présente les limites suivantes :

    • L'intervalle de temps ne peut pas dépasser 7 jours ni être inférieur à 60 secondes, et doit être supérieur au délai d'expiration spécifié lors de la création de la tâche planifiée.

    • L'intervalle d'exécution est basé uniquement sur la fréquence fixe et n'est pas lié au temps réel nécessaire à l'exécution de la tâche. Par exemple, si la commande est configurée pour s'exécuter toutes les 5 minutes et que la tâche prend 2 minutes, le prochain cycle d'exécution commence 3 minutes après la fin de la tâche.

    • L'heure de la prochaine exécution est calculée en fonction de l'heure de création de la tâche (consultez CreationTime renvoyé par DescribeInvocations, notez qu'il ne s'agit pas de l'heure de modification) et de l'intervalle d'exécution modifié.

  • Exécution unique à une heure spécifiée : la commande est exécutée une seule fois au fuseau horaire et à l'heure spécifiés. Format : at(yyyy-MM-dd HH:mm:ss <fuseau horaire>), ce qui correspond à at(année-mois-jour heure:minute:seconde <fuseau horaire>). Si aucun fuseau horaire n'est spécifié, la valeur par défaut est UTC. Le fuseau horaire prend en charge les trois formats suivants :

    • Nom complet du fuseau horaire : tel que Asia/Shanghai (heure de Chine/Shanghai) ou America/Los_Angeles (heure des États-Unis/Los Angeles).

    • Décalage du fuseau horaire par rapport au temps moyen de Greenwich : tel que GMT+8:00 (fuseau horaire Est +8) ou GMT-7:00 (fuseau horaire Ouest -7). Lors de l'utilisation du format GMT, les zéros non significatifs ne sont pas pris en charge pour la valeur de l'heure.

    • Abréviation du fuseau horaire : seul UTC (temps universel coordonné) est pris en charge.

    Par exemple, pour une exécution unique à 13:15:30 le 6 juin 2022 à l'heure de Chine/Shanghai, utilisez : at(2022-06-06 13:15:30 Asia/Shanghai). Pour une exécution unique à 13:15:30 le 6 juin 2022 dans le fuseau horaire Ouest -7, utilisez : at(2022-06-06 13:15:30 GMT-7:00).

  • Exécution planifiée basée sur l'horloge (basée sur les expressions Cron) : basée sur les expressions Cron, la commande est exécutée selon les paramètres de la tâche planifiée. Format : <secondes> <minutes> <heures> <jour du mois> <mois> <jour de la semaine> <année (facultatif)> <fuseau horaire>, ce qui correspond à <expression Cron> <fuseau horaire>. L'heure d'exécution de la tâche planifiée est calculée en fonction de l'expression Cron dans le fuseau horaire spécifié. Si aucun fuseau horaire n'est spécifié, la valeur par défaut est le fuseau horaire du système interne de l'instance exécutant la tâche planifiée. Pour plus d'informations sur les expressions Cron, consultez Expressions Cron. Le fuseau horaire prend en charge les trois formats suivants :

    • Nom complet du fuseau horaire : tel que Asia/Shanghai (heure de Chine/Shanghai) ou America/Los_Angeles (heure des États-Unis/Los Angeles).

    • Décalage du fuseau horaire par rapport au temps moyen de Greenwich : tel que GMT+8:00 (fuseau horaire Est +8) ou GMT-7:00 (fuseau horaire Ouest -7). Lors de l'utilisation du format GMT, les zéros non significatifs ne sont pas pris en charge pour la valeur de l'heure.

    • Abréviation du fuseau horaire : seul UTC (temps universel coordonné) est pris en charge. Par exemple, pour une exécution quotidienne à 10:15 à l'heure de Chine/Shanghai en 2022, utilisez 0 15 10 ? * * 2022 Asia/Shanghai. Pour une exécution toutes les demi-heures de 10:00 à 11:30 chaque jour en 2022 dans le fuseau horaire Est +8, utilisez 0 0/30 10-11 * * ? 2022 GMT+8:00. Pour une exécution toutes les 5 minutes de 14:00 à 14:55 chaque jour en octobre tous les deux ans à partir de 2022 en UTC, utilisez 0 0/5 14 * 10 ? 2022/2 UTC.

    Remarque

    L'intervalle de temps minimum doit être supérieur ou égal au délai d'expiration spécifié lors de la création de la tâche planifiée, et ne doit pas être inférieur à 10 secondes.

0 */20 * * * *

ContentEncoding

string

Non

La méthode d'encodage du contenu de la commande (CommandContent). Valeurs valides (insensibles à la casse) :

  • PlainText : aucun encodage. Le contenu est transmis en texte brut.

  • Base64 : encodage Base64.

Valeur par défaut : PlainText. Si une valeur non valide est spécifiée, elle est traitée comme PlainText.

PlainText

ClientToken

string

Non

Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer le jeton, mais assurez-vous que le jeton est unique parmi les différentes requêtes. La valeur ClientToken ne peut contenir que des caractères ASCII et ne peut pas dépasser 64 caractères. Pour plus d'informations, consultez Comment garantir l'idempotence.

123e4567-e89b-12d3-a456-426655440000

Éléments de réponse

Élément

Type

Description

Exemple

object

RequestId

string

L'identifiant de la requête.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

CommandId

string

L'identifiant de la commande.

  • Une nouvelle commande est créée et le nouvel identifiant CommandId est renvoyé uniquement lorsque CommandContent est modifié.

  • Lorsque CommandContent n'est pas modifié, aucune nouvelle commande n'est créée et l'identifiant CommandId de la commande en cours d'exécution est renvoyé.

  • Si vous avez appelé InvokeCommand ou appelé RunCommand avec KeepCommand défini sur true, la nouvelle commande est conservée. Sinon, lorsque l'exécution est terminée ou que la tâche est arrêtée manuellement, toutes les commandes associées à la tâche sont supprimées.

c-hz01272yr52****

Exemples

JSON format

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "CommandId": "c-hz01272yr52****"
}

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

400 InvalidParameter.Frequency The specified parameter Frequency is not valid. Le paramètre Frequency spécifié n'est pas valide.
400 InvalidParameters.KeyDuplicate The key in the parameter Parameters cannot be duplicated. Les clés du paramètre Parameters ne peuvent pas être dupliquées.
400 InvalidParameters.KeyNotMatch The key in the parameter Parameters do not match those defined when creating the command. Une clé du paramètre Parameters ne correspond pas à la clé définie lors de la création de la commande.
400 InvalidParameters.KeyMalformed The key in the parameter Parameters is not valid. Une clé du paramètre Parameters n'est pas valide.
400 InvalidParameters.KeyEmpty The key in the parameter Parameters cannot be empty. Les clés du paramètre Parameters ne peuvent pas être vides.
400 InvalidCommandContent.DecodeError The specified parameter CommandContent can not be Base64 decoded. Le paramètre CommandContent ne peut pas être décodé à l'aide de Base64.
400 InvalidClientToken.Malformed The specified parameter clientToken is not valid. Le paramètre ClientToken spécifié ne respecte pas les exigences de format. Le paramètre doit contenir uniquement des caractères ASCII et ne peut pas dépasser 64 caractères.
500 InternalError An error occurred when you dispatched the request. Une erreur s'est produite lors de l'envoi de la requête. Réessayez plus tard.
403 InvalidInstanceId.OSTypeUnsupported The OS type of the instance corresponding to the parameter InstanceId does not support the specified command type. Le type de système d'exploitation de l'instance spécifiée par InstanceId ne prend pas en charge cette opération.
403 InvalidOperation.RepeatModeUnsupported The operation is not supported for current repeat mode of invocation. La méthode d'exécution de commande actuelle ne prend pas en charge cette opération.
403 InvalidOperation.InvokeAlreadyFinished The operation is not supported for finished invocation. Cette opération n'est pas prise en charge pour les tâches qui ont déjà été achevées.
403 InvalidOperation.CloudAssistantVersionUnsupported The operation is not supported for current CloudAssistant version of instance. La version de Cloud Assistant sur l'instance actuelle ne prend pas en charge cette opération.
403 InvalidOperation.ModifyPublicCommandUnsupported Modification of the content of Public Command is not supported. La modification du contenu des commandes publiques n'est pas prise en charge.
403 InvalidCommandContent.LengthLimitExceeded The length of the parameter CommandContent exceeds the limit of %s KB characters.
403 Operation.Forbidden The operation is not permitted. L'utilisateur RAM actuel ne dispose pas des autorisations nécessaires pour effectuer cette opération.
403 InvalidParameters.CountLimitExceeded The count of the parameter Parameters exceeds the limit of 10. Le nombre d'entrées dans le paramètre Parameters dépasse la limite de 10.
403 InvalidParameters.KeyLengthLimitExceeded The length of the key in the parameter Parameters exceeds the limit of 64 characters. La longueur d'une clé dans le paramètre Parameters dépasse la limite de 64 caractères.
403 InvalidInstanceId.CountLimitExceeded The count of the parameter InstanceId exceeds the limit of %s.
403 CommandLimitExceeded The count of command in current region exceeds the limit of %s.
403 InvalidParameters.ValueTypeUnsupported The type of the value in the parameter Parameters is not supported. Le type de valeur dans le paramètre Parameters n'est pas pris en charge.
403 IdempotentParameterMismatch The specified parameter has changed while using an already used clientToken. Le jeton client spécifié a déjà été utilisé.
403 IdempotentProcessing The previous idempotent request(s) is still processing. La requête idempotente précédente est toujours en cours de traitement. Réessayez plus tard.
404 InvalidInvokeId.NotFound The specified parameter InvokeId does not exist. L'identifiant d'invocation de commande spécifié n'existe pas.
404 InvalidInstanceId.NotFound The specified parameter InstanceId does not exist. L'identifiant d'instance spécifié est invalide.
404 InvalidRegionId.NotFound The specified parameter RegionId does not exist. Les informations de région sont invalides.
404 InvalidCommandId.NotFound The specified CommandId does not exist.

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.