Tous les produits
Search
Centre de documentation

:InvokeCommand

Dernière mise à jour :Aug 18, 2026

Exécute une commande Cloud Assistant sur des instances Elastic Compute Service (ECS).

Notes d'utilisation

  • Les instances ECS sur lesquelles vous souhaitez exécuter la commande Cloud Assistant doivent répondre aux exigences suivantes. Si plusieurs instances sont spécifiées et que l'une d'elles ne satisfait pas aux conditions d'exécution, l'appel échoue. Spécifiez des instances conformes et rappelez l'opération InvokeCommand.

    • Les instances doivent être dans l'état En cours d'exécution (Running). Appelez l'opération DescribeInstances pour interroger l'état des instances.

    • Installez l'agent Cloud Assistant sur les instances. Pour plus d'informations, consultez la rubrique Installation de l'agent Cloud Assistant.

    • Avant d'exécuter des commandes PowerShell sur les instances, assurez-vous que le module PowerShell y est configuré.

  • La commande ne peut être exécutée qu'une seule fois sur les instances.

  • La commande peut être exécutée plusieurs fois sur les instances selon une planification.

    • Le paramètre Frequency définit la planification. Les résultats de chaque exécution n'affectent pas l'exécution suivante.

    • Si vous souhaitez définir une planification via une expression Cron, spécifiez un fuseau horaire selon vos besoins métier. En l'absence de fuseau horaire spécifié, la planification est déterminée par l'heure système de l'instance. Assurez-vous que l'heure ou le fuseau horaire de l'instance répond à vos exigences. Pour plus d'informations sur les fuseaux horaires, consultez les rubriques Configuration du service NTP pour les instances ECS exécutant CentOS 6 ou Configuration du service NTP pour les instances Windows.

      Pour garantir le bon fonctionnement des tâches planifiées, assurez-vous que la version de l'agent Cloud Assistant n'est pas antérieure aux versions indiquées ci-dessous. Vous pouvez configurer une commande pour qu'elle s'exécute à intervalle fixe basé sur une expression de taux, une seule fois à une heure précise, ou à des moments désignés via une expression Cron. Si le code d'erreur ClientNeedUpgrade est renvoyé, mettez à jour l'agent Cloud Assistant vers la dernière version. Pour plus d'informations, consultez la rubrique Mise à jour ou désactivation des mises à jour de l'agent Cloud Assistant.

    • Linux : 2.2.3.282

    • Windows : 2.1.3.282

  • L'exécution des commandes peut échouer en raison d'anomalies d'état de l'instance, de problèmes réseau ou de dysfonctionnements de l'agent Cloud Assistant. En cas d'échec, aucune information d'exécution n'est générée. Pour plus d'informations, consultez la rubrique Vérification des résultats d'exécution et dépannage des problèmes courants.

  • Si vous activez la fonctionnalité de paramètres personnalisés lors de la création de la commande, spécifiez les paramètres personnalisés (Parameters) pour exécuter la commande.

  • Avant d'exécuter une commande sur des instances, notamment les nouvelles instances, appelez l'opération DescribeCloudAssistantStatus pour interroger l'état de l'agent Cloud Assistant installé et vous assurer que la valeur renvoyée pour CloudAssistantStatus est true.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Pour votre commodité, nous vous recommandons d'appeler cette opération dans OpenAPI Explorer. OpenAPI Explorer génère dynamiquement l'exemple de code de l'opération pour différents SDK.

Paramètres de requête

Parameter Type Required Example Description
Action String Yes InvokeCommand

L'opération que vous souhaitez effectuer. Définissez la valeur sur InvokeCommand.

RegionId String Yes cn-hangzhou

L'ID de région de la commande. Appelez l'opération DescribeRegions pour interroger la liste des régions les plus récentes.

ResourceGroupId String No rg-bp67acfmxazb4p****

L'ID du groupe de ressources auquel attribuer les exécutions de commande. Lors de la définition de ce paramètre, tenez compte des éléments suivants :

  • Les instances spécifiées par InstanceId.N doivent appartenir au groupe de ressources indiqué.
  • Après l'exécution de la commande, appelez l'opération DescribeInvocations ou DescribeInvocationResults avec ResourceGroupId défini pour interroger les résultats d'exécution dans le groupe de ressources spécifié.
CommandId String Yes c-e996287206324975b5fbe1d****

L'ID de la commande. Appelez l'opération DescribeCommands pour interroger tous les ID de commande disponibles.

Remarque Les commandes Cloud Assistant courantes peuvent être exécutées en fonction de leur nom. Pour plus d'informations, consultez la rubrique Affichage et exécution des commandes Cloud Assistant courantes.
RepeatMode String No Once

Spécifie le mode d'exécution de la commande. Valeurs valides :

  • Once : exécute immédiatement la commande.
  • Period : exécute la commande selon une planification. Si vous définissez ce paramètre sur Period, vous devez spécifier Frequency.
  • NextRebootOnly : exécute la commande au prochain démarrage de l'instance.
  • EveryReboot : exécute la commande à chaque démarrage de l'instance.

Valeur par défaut :

  • Si vous ne spécifiez pas Frequency, la valeur par défaut est Once.
  • Si vous spécifiez Frequency, Period est utilisé comme valeur de RepeatMode, que RepeatMode soit défini sur Period ou non.

Tenez compte des éléments suivants :

  • Appelez l'opération StopInvocation pour arrêter les exécutions en attente ou planifiées de la commande.
  • Si vous définissez ce paramètre sur Period ou EveryReboot, définissez IncludeHistory sur true et appelez l'opération DescribeInvocationResults pour interroger les résultats des exécutions planifiées historiques.
Timed Boolean No true
Remarque Ce paramètre n'a aucun effet et n'est plus utilisé.
Frequency String No 0 */20 * * * ?

La planification d'exécution de la commande. Vous pouvez configurer une commande pour qu'elle s'exécute à intervalle fixe basé sur une expression de taux, une seule fois à une heure précise, ou à des moments désignés via une expression Cron.

  • Pour exécuter la commande à intervalle fixe, utilisez une expression de taux pour spécifier l'intervalle. Vous pouvez indiquer l'intervalle en secondes, minutes, heures ou jours. Cette option convient aux scénarios nécessitant une exécution à intervalle régulier. Spécifiez l'intervalle au format suivant : rate(<Valeur de l'intervalle d'exécution><Unité de l'intervalle d'exécution>). Par exemple, spécifiez rate(5m) pour exécuter la commande toutes les 5 minutes. Tenez compte des limites suivantes lors de la définition d'un intervalle :
    • L'intervalle spécifié peut varier de 60 secondes à 7 jours, mais doit être supérieur à la période d'expiration de la tâche planifiée.
    • L'intervalle correspond au temps écoulé entre deux exécutions consécutives. Il est indépendant du temps nécessaire pour exécuter la commande une fois. Par exemple, si vous définissez l'intervalle sur 5 minutes et que l'exécution de la commande prend 2 minutes, le système attend 3 minutes avant de relancer la commande.
    • Une tâche n'est pas exécutée immédiatement après sa création. Par exemple, si vous définissez l'intervalle sur 5 minutes, la tâche commence à s'exécuter 5 minutes après sa création.
  • Pour exécuter la commande une seule fois à une heure précise, spécifiez un instant et un fuseau horaire. Indiquez l'instant au format at(yyyy-MM-dd HH:mm:ss <Fuseau horaire>), qui représente at(Année-Mois-Jour Heure:Minute:Seconde <Fuseau horaire>). Si aucun fuseau horaire n'est spécifié, le fuseau UTC est utilisé par défaut. Le fuseau horaire prend en charge les formats suivants :
    • Le nom du fuseau horaire. Exemples : Asia/Shanghai et America/Los_Angeles.
    • Le décalage horaire par rapport à GMT. Exemples : GMT+8:00 (UTC+8) et GMT-7:00 (UTC-7). Si vous utilisez le format GMT, n'ajoutez pas de zéros non significatifs à la valeur de l'heure.
    • L'abréviation du fuseau horaire. Seul UTC est pris en charge.

      Par exemple, pour configurer une commande devant s'exécuter une seule fois le 6 juin 2022 à 13:15:30 (heure de Shanghai), définissez l'heure sur at(2022-06-06 13:15:30 Asia/Shanghai). Pour configurer une commande devant s'exécuter une seule fois le 6 juin 2022 à 13:15:30 (UTC-7), définissez l'heure sur at(2022-06-06 13:15:30 GMT-7:00).

  • Pour exécuter une commande à des moments spécifiques, utilisez une expression Cron pour définir la planification. Spécifiez la planification au format <Expression Cron> <Fuseau horaire>. L'expression Cron suit le format <secondes> <minutes> <heures> <jour du mois> <mois> <jour de la semaine> <année (facultatif)>. Le système calcule les heures d'exécution de la commande en fonction de l'expression Cron et du fuseau horaire spécifiés, puis exécute la commande selon la planification. Si aucun fuseau horaire n'est spécifié, le fuseau horaire système de l'instance cible est utilisé par défaut. Pour plus d'informations sur les expressions Cron, consultez la rubrique Expressions Cron. Le fuseau horaire prend en charge les formats suivants :
    • Le nom du fuseau horaire. Exemples : Asia/Shanghai et America/Los_Angeles.
    • Le décalage horaire par rapport à GMT. Exemples : GMT+8:00 (UTC+8) et GMT-7:00 (UTC-7). Si vous utilisez le format GMT, n'ajoutez pas de zéros non significatifs à la valeur de l'heure.
    • L'abréviation du fuseau horaire. Seul UTC est pris en charge.

      Par exemple, pour configurer une commande devant s'exécuter tous les jours à 10:15:00 en 2022 (heure de Shanghai), définissez la planification sur 0 15 10 ? * * 2022 Asia/Shanghai. Pour configurer une commande devant s'exécuter toutes les demi-heures de 10:00:00 à 11:30:00 tous les jours en 2022 (UTC+8), définissez la planification sur 0 0/30 10-11 * ? 2022 GMT +8:00. Pour configurer une commande devant s'exécuter toutes les 5 minutes de 14:00:00 à 14:55:00 chaque octobre, tous les deux ans à partir de 2022 en UTC, définissez la planification sur 0 0/5 14 * 10 ? 2022/2 UTC.
      Remarque L'intervalle minimum doit être d'au moins 10 secondes et ne peut pas être inférieur à la période d'expiration des exécutions planifiées.
Parameters Map No {"name":"Jack", "accessKey":"LTAIdyv******aRY"}

Les paires clé-valeur des paramètres personnalisés à transmettre lorsque la fonctionnalité de paramètres personnalisés est activée. Nombre de paramètres personnalisés : de 0 à 10.

  • Les clés d'une collection Map peuvent comporter jusqu'à 64 caractères et ne peuvent pas être des chaînes vides.
  • Les valeurs d'une collection Map peuvent être des chaînes vides.
  • La taille des paramètres personnalisés encodés en Base64 et du contenu original de la commande ne peut pas dépasser 18 Ko.
  • Les noms de paramètres personnalisés spécifiés dans la valeur de Parameters doivent figurer parmi les paramètres personnalisés définis lors de la création de la commande. Vous pouvez utiliser des chaînes vides pour représenter les paramètres non transmis.

Si vous souhaitez désactiver la fonctionnalité de paramètres personnalisés, laissez ce paramètre vide.

Username String No test

Le nom d'utilisateur utilisé pour exécuter la commande sur les instances. Le nom d'utilisateur peut comporter jusqu'à 255 caractères.

  • Pour les instances Linux, le nom d'utilisateur root est utilisé par défaut.
  • Pour les instances Windows, le nom d'utilisateur System est utilisé par défaut.

Vous pouvez également spécifier d'autres noms d'utilisateur existant déjà sur les instances pour exécuter la commande. Pour des raisons de sécurité, il est recommandé d'exécuter les commandes Cloud Assistant en tant qu'utilisateur standard. Pour plus d'informations, consultez la rubrique Configuration d'un utilisateur standard pour l'exécution des commandes Cloud Assistant.

WindowsPasswordName String No axtSecretPassword

Le nom du mot de passe utilisé pour exécuter la commande sur les instances Windows. Le nom peut comporter jusqu'à 255 caractères.

Si vous ne souhaitez pas utiliser l'utilisateur System par défaut pour exécuter la commande sur les instances Windows, spécifiez à la fois WindowsPasswordName et Username. Pour atténuer les risques de fuite de mot de passe, le mot de passe est stocké en texte clair dans Operation Orchestration Service (OOS) Parameter Store, et seul le nom du mot de passe est transmis via WindowsPasswordName. Pour plus d'informations, consultez les rubriques Chiffrement des paramètres et Configuration d'un utilisateur standard pour l'exécution des commandes Cloud Assistant.

Remarque Si vous utilisez le nom d'utilisateur root pour les instances Linux ou le nom d'utilisateur System pour les instances Windows afin d'exécuter la commande, vous n'avez pas besoin de spécifier WindowsPasswordName.
InstanceId.N String No i-bp185dy2o3o6n****

L'ID de l'instance N sur laquelle exécuter la commande. Vous pouvez spécifier jusqu'à 50 ID d'instance par requête. Valeurs valides de N : 1 à 50.

ContainerId String No ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****

L'ID du conteneur. Seules les chaînes hexadécimales de 64 bits sont prises en charge. Vous pouvez utiliser des ID de conteneur préfixés par docker://, containerd:// ou cri-o:// pour spécifier les environnements d'exécution de conteneurs.

Tenez compte des éléments suivants :

  • Si vous spécifiez ce paramètre, Cloud Assistant exécute les scripts dans le conteneur spécifié de l'instance.
  • Si vous spécifiez ce paramètre, assurez-vous que la version de l'agent Cloud Assistant installée sur les instances Linux est 2.2.3.344 ou ultérieure.
  • Si vous spécifiez ce paramètre, Username spécifié dans la requête d'appel de cette opération et WorkingDir spécifié dans la requête d'appel de l'opération CreateCommand n'ont aucun effet. Vous ne pouvez exécuter la commande que dans le répertoire de travail par défaut du conteneur en utilisant l'utilisateur par défaut du conteneur. Pour plus d'informations, consultez la rubrique Utilisation de Cloud Assistant pour exécuter des commandes dans des conteneurs.
  • Si vous spécifiez ce paramètre, seuls les scripts shell peuvent être exécutés dans les conteneurs Linux. Vous ne pouvez pas ajouter une commande au format similaire à #!/usr/bin/python au début d'un script pour spécifier un interpréteur de script. Pour plus d'informations, consultez la rubrique Utilisation de Cloud Assistant pour exécuter des commandes dans des conteneurs.
ContainerName String No test-container

Le nom du conteneur.

Tenez compte des éléments suivants :

  • Si vous spécifiez ce paramètre, Cloud Assistant exécute les scripts dans le conteneur spécifié de l'instance.
  • Si vous spécifiez ce paramètre, assurez-vous que la version de l'agent Cloud Assistant installée sur les instances Linux est 2.2.3.344 ou ultérieure.
  • Si vous spécifiez ce paramètre, Username spécifié dans la requête d'appel de cette opération et WorkingDir spécifié dans la requête d'appel de l'opération CreateCommand n'ont aucun effet. Vous ne pouvez exécuter la commande que dans le répertoire de travail par défaut du conteneur en utilisant l'utilisateur par défaut du conteneur. Pour plus d'informations, consultez la rubrique Utilisation de Cloud Assistant pour exécuter des commandes dans des conteneurs.
  • Si vous spécifiez ce paramètre, seuls les scripts shell peuvent être exécutés dans les conteneurs Linux. Vous ne pouvez pas ajouter une commande au format similaire à #!/usr/bin/python au début d'un script pour spécifier un interpréteur de script. Pour plus d'informations, consultez la rubrique Utilisation de Cloud Assistant pour exécuter des commandes dans des conteneurs.
Timeout Long No 60

La période d'expiration de l'exécution de la commande. Unité : secondes.

  • La période d'expiration ne peut pas être inférieure à 10 secondes.
  • Une erreur de délai d'expiration se produit si la commande ne peut pas être exécutée en raison d'un ralentissement du processus ou de l'absence d'un module spécifique ou de l'agent Cloud Assistant. À la fin de la période d'expiration spécifiée, le processus de commande est arrêté de force.
  • Si vous ne spécifiez pas ce paramètre, la période d'expiration définie lors de la création de la commande est utilisée.
  • Cette période d'expiration s'applique uniquement à cette exécution. La période d'expiration de la commande n'est pas modifiée.
Tag.N.Key String No TestKey

La clé du tag N à ajouter à la tâche de commande. Valeurs valides de N : 1 à 20. La clé du tag ne peut pas être une chaîne vide.

Si un seul tag est spécifié pour interroger des ressources, jusqu'à 1 000 ressources portant ce tag peuvent être affichées dans la réponse. Si plusieurs tags sont spécifiés, jusqu'à 1 000 ressources portant tous ces tags peuvent être affichées. Pour interroger plus de 1 000 ressources portant des tags spécifiés, appelez l'opération ListTagResources.

La clé du tag peut comporter jusqu'à 64 caractères et ne peut pas commencer par acs: ou aliyun. Elle ne peut pas contenir http:// ou https://.

Tag.N.Value String No TestValue

La valeur du tag N à ajouter à la tâche de commande. Valeurs valides de N : 1 à 20. La valeur du tag peut être une chaîne vide.

La valeur du tag peut comporter jusqu'à 128 caractères et ne peut pas contenir http:// ou https://.

ClientToken String No 123e4567-e89b-12d3-a456-42665544****

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

Paramètres de réponse

Parameter

Type

Example

Description

InvokeId

String

t-7d2a745b412b4601b2d47f6a768d****

L'ID de la tâche de commande.

RequestId

String

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

L'ID de la requête.

Exemples

Exemples de requêtes

http(s)://ecs.aliyuncs.com/?Action=InvokeCommand
&CommandId=c-e996287206324975b5fbe1d****
&InstanceId.1=i-bp185dy2o3o6n****
&RegionId=cn-hangzhou
&Timed=true
&Frequency=0 */20 * * * *
&Parameters={"name":"Jack", "accessKey":"LTAIdyv******aRY"}
&Username=root
&<Common request parameters>

Exemples de réponses réussies

Format XML

HTTP/1.1 200 OK
Content-Type:application/xml

<InvokeCommandResponse>
    <InvokeId>t-7d2a745b412b4601b2d47f6a768d****</InvokeId>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</InvokeCommandResponse>

Format JSON

HTTP/1.1 200 OK
Content-Type:application/json

{
  "InvokeId" : "t-7d2a745b412b4601b2d47f6a768d****",
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

Codes d'erreur

HTTP status code

Error code

Error message

Description

400

RegionId.ApiNotSupported

The api is not supported in this region.

Cette opération ne peut pas être effectuée dans la région spécifiée. Vérifiez si le paramètre RegionId est valide.

400

MissingParam.InstanceId

The parameter instanceId is missing or empty.

InstanceId.N est requis.

400

InvalidContainerId.Malformed

The specified parameter ContainerId is not valid.

Valeur ContainerId non valide.

400

InvalidContainerName.Malformed

The specified parameter ContainerName is not valid.

Valeur ContainerName non valide.

400

InvalidClientToken.Malformed

The specified parameter clientToken is not valid.

Valeur ClientToken non valide.

400

InvalidInstance.NotMatch

The specified instance type does not match the command.

La commande spécifiée ne peut pas être exécutée sur l'instance spécifiée. Vérifiez si l'état de l'instance respecte les conditions d'exécution de la commande Cloud Assistant.

400

MissingParam.Frequency

The frequency must be specified when you create a timed task.

Le paramètre Frequency est requis lors de la création d'une tâche de commande planifiée.

400

InvalidParam.Frequency

The specified frequency is invalid.

Valeur Frequency non valide. Vérifiez si la valeur Frequency spécifiée est valide.

400

Parameter.MissingValue

The parameter value of this command is required.

Le paramètre est requis.

400

Parameter.Disabled

Parameters cannot be passed in when the command customization function is disabled.

Le paramètre Parameters est spécifié alors que la fonctionnalité de paramètres personnalisés est désactivée.

400

InvalidParameter.Parameters

The specified parameter Parameters is not valid.

Valeur Parameters non valide.

403

InstanceIds.ExceedLimit

The number of instance IDs exceeds the upper limit.

Le nombre maximal d'ID d'instance est dépassé.

403

Invocation.ExceedQuota

The invocation quota in the current region has been reached for today.

Le nombre maximal quotidien d'exécutions de commande dans la région actuelle est dépassé.

403

ParameterCount.ExceedLimit

The maximum number of parameters is exceeded.

Le nombre maximal de paramètres personnalisés spécifiés est dépassé.

403

ParameterKey.ExceedLimit

The maximum length of a parameter name is exceeded.

La clé d'un paramètre personnalisé dépasse 64 caractères.

403

CmdContent.ExceedLimit

The maximum length of a command is exceeded.

La longueur maximale de la commande est dépassée. Raccourcissez votre commande.

403

ParameterKey.Duplicate

Parameter names cannot be duplicated.

Un paramètre portant le même nom existe déjà. Les noms de paramètres doivent être uniques.

403

Parameter.NotMatched

The passed-in parameters do not match the parameters defined when you created the command.

Les paramètres personnalisés transmis ne correspondent pas à ceux spécifiés lors de la création de la commande.

403

ParameterType.NotSupported

The type of parameter value is not supported.

Type de paramètre personnalisé non valide.

403

Username.ExceedLimit

The length of the username exceeds the upper limit.

La longueur maximale du nom d'utilisateur est dépassée.

403

WindowsPasswordName.ExceedLimit

The length of the WindowsPasswordName exceeds the upper limit.

La longueur maximale de WindowsPasswordName est dépassée.

403

WindowsPasswordName.Missed

WindowsPasswordName must be specified when you create a Windows task.

WindowsPasswordName est requis.

403

ParameterStore.InvalidParameters

The parameter is invalid in Parameter Store.

Le paramètre personnalisé au format {{oos:?}} est introuvable.

403

Operation.Forbidden

The operation is not permitted.

L'opération n'est pas prise en charge.

403

IdempotentParameterMismatch

The specified parameter has changed while using an already used clientToken.

Le jeton client est déjà utilisé.

403

IdempotentProcessing

The previous idempotent request(s) is still processing.

Une requête idempotente précédente est en cours de traitement. Réessayez ultérieurement.

404

InvalidRepeatMode.NotFound

The specified repeat mode does not exist.

Valeur RepeatMode non valide.

404

InvalidInstance.NotFound

The specified instance does not exist.

L'instance spécifiée est introuvable.

404

InvalidCmdId.NotFound

The specified command ID does not exist.

Valeur CommandId non valide. Appelez l'opération DescribeCommands pour interroger tous les ID de commande disponibles.

404

InvalidResourceGroup.NotFound

The ResourceGroup provided does not exist in our records.

L'ID du groupe de ressources est introuvable.

500

InternalError.Dispatch

An error occurred when you dispatched the request.

Une erreur s'est produite lors de l'envoi de la requête. Réessayez ultérieurement.

Pour obtenir la liste des codes d'erreur, consultez la rubrique Codes d'erreur de service.