Tous les produits
Search
Centre de documentation

Elastic Compute Service:RunCommand

Dernière mise à jour :Aug 27, 2026

Crée et exécute une commande Cloud Assistant sur une ou plusieurs instances ECS. Prend en charge les types de scripts Shell, PowerShell ou Bat, et fournit des fonctionnalités telles que l'exécution planifiée, les paramètres personnalisés et l'exécution dans des conteneurs sur les instances.

Description de l'opération

Il s'agit d'une opération asynchrone. Une fois la requête envoyée avec succès, vous pouvez appeler DescribeInvocations ou DescribeInvocationResults pour interroger les résultats de l'exécution en utilisant l'identifiant de commande ou l'identifiant d'appel renvoyé.

Avant de commencer

  • L'instance cible doit être dans l'état Running. Vous pouvez appeler DescribeInstances pour interroger l'état de l'instance.

  • L'instance cible doit avoir l'agent Cloud Assistant installé. Vous pouvez l'installer en appelant InstallCloudAssistant et vérifier l'état de l'installation en appelant DescribeCloudAssistantStatus.
    Remarque

    Les instances ECS créées à partir d'images publiques après le 1er décembre 2017 sont préinstallées avec l'agent Cloud Assistant par défaut.

  • Pour exécuter des commandes PowerShell, assurez-vous que le système d'exploitation Windows sur l'instance ECS cible a le module PowerShell configuré.

Précautions

  • Dans une même région, vous pouvez conserver de 500 à 50 000 commandes Cloud Assistant. Vous pouvez également demander une augmentation de quota. Pour plus d'informations, consultez Gestion des quotas.

  • La version de l'agent Cloud Assistant ne doit pas être antérieure aux versions suivantes pour prendre en charge les nouvelles fonctionnalités des tâches planifiées (exécution à intervalles fixes, exécution unique à une heure spécifiée et exécution planifiée basée sur Cron avec année ou fuseau horaire spécifié). Si le code d'erreur ClientNeedUpgrade est renvoyé, consultez Mettre à niveau ou désactiver les mises à niveau de Cloud Assistant Agent pour mettre à jour l'agent vers la dernière version.

    - Linux : 2.2.3.282
    - Windows : 2.1.3.282
    
  • Lorsque vous exécutez une tâche planifiée basée sur Cron avec un fuseau horaire spécifié, l'heure d'exécution planifiée est basée sur le fuseau horaire spécifié. Lorsque vous ne spécifiez pas de fuseau horaire, l'heure d'exécution planifiée est basée sur le fuseau horaire du système de l'instance ECS, et l'heure d'exécution est déterminée par l'heure système de l'instance. Assurez-vous que l'heure ou le fuseau horaire de l'instance ECS correspond à vos attentes. Pour plus d'informations sur les fuseaux horaires, consultez Configurer le fuseau horaire et le service NTP pour une instance Linux ou Configurer le service NTP pour une instance Windows.

Recommandations

  • Paramètres de délai d'expiration : Vous pouvez spécifier le paramètre Timeout pour définir le délai d'expiration maximal pour l'exécution de la commande sur une instance ECS. Lorsqu'une commande expire, l'agent Cloud Assistant arrête de force le processus.
    • Après l'expiration d'une exécution unique, l'état d'exécution (InvokeRecordStatus) passe à échec d'exécution (Failed).

    • Pour les exécutions planifiées, le délai d'expiration s'applique à chaque enregistrement d'exécution. Un délai d'expiration lors de l'exécution précédente n'affecte pas l'exécution suivante. Après un délai d'expiration, l'état d'exécution (InvokeRecordStatus) passe à échec d'exécution (Failed).

  • Échecs d'exécution : Une commande peut échouer en raison d'un état anormal de l'instance cible, d'exceptions réseau ou d'exceptions de l'agent Cloud Assistant. Lorsqu'une commande échoue, aucune information d'exécution n'est générée. Pour plus d'informations, consultez Erreurs courantes et solutions pour les échecs d'exécution.

  • Paramètres personnalisés : Lorsque EnableParameter=true, la fonctionnalité de paramètres personnalisés est activée. Lors de la définition de CommandContent, vous pouvez définir des paramètres personnalisés au format {{parameter}} et transmettre des paires clé-valeur de paramètres personnalisés lors de l'exécution de la commande.

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:RunCommand

update

*Instance.

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

  • ecs:CommandRunAs
Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

RegionId

string

Oui

L'identifiant de la région. Vous pouvez appeler DescribeRegions pour interroger la liste des régions la plus récente.

cn-hangzhou

ResourceGroupId

string

Non

L'identifiant du groupe de ressources pour l'exécution de la commande. Lorsque ce paramètre est spécifié :

  • Si l'instance ECS correspondant à InstanceId appartient à un groupe de ressources non par défaut, l'instance ECS doit appartenir à ce groupe de ressources.

  • Vous pouvez filtrer les résultats d'exécution de commande correspondants en spécifiant ce paramètre (en appelant DescribeInvocations ou DescribeInvocationResults).

rg-bp67acfmxazb4p****

Name

string

Non

Le nom de la commande. Tous les jeux de caractères sont pris en charge. Le nom ne peut pas dépasser 128 caractères.

testName

Description

string

Non

La description de la commande. Tous les jeux de caractères sont pris en charge. La description ne peut pas dépasser 512 caractères.

testDescription

Type

string

Oui

Le type de commande. Valeurs valides :

  • RunBatScript : commandes Bat pour les instances Windows.

  • RunPowerShellScript : commandes PowerShell pour les instances Windows.

  • RunShellScript : commandes Shell pour les instances Linux.

RunShellScript

CommandContent

string

Oui

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

  • Le contenu de la commande ne peut pas dépasser 24 Ko après l'encodage Base64. Vous pouvez utiliser KeepCommand pour spécifier s'il faut conserver la commande.

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

  • Lorsque EnableParameter=true est spécifié, la fonctionnalité de paramètres personnalisés est activée dans le contenu de la commande :

    • Définissez des 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 de paramètres personnalisés peuvent contenir des combinaisons 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.

    • Chaque 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. Lors de l'exécution de la commande, vous n'avez pas besoin d'attribuer manuellement des valeurs à ces paramètres car Cloud Assistant les remplace automatiquement par les valeurs correspondantes. 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. Lorsqu'une commande est envoyée à plusieurs instances et que vous souhaitez utiliser {{ACS::InstanceId}} comme paramètre d'environnement intégré, assurez-vous que la version de Cloud Assistant Agent n'est pas antérieure à :
      • Linux : 2.2.3.309

      • Windows : 2.1.3.309

    • {{ACS::InstanceName}} : le nom de l'instance. Lorsqu'une commande est envoyée à plusieurs instances et que vous souhaitez utiliser {{ACS::InstanceName}} comme paramètre d'environnement intégré, assurez-vous que la version de Cloud Assistant Agent n'est pas antérieure à :
      • Linux : 2.2.3.344

      • Windows : 2.1.3.344

    • {{ACS::InvokeId}} : l'identifiant d'appel. Pour utiliser {{ACS::InvokeId}} comme paramètre d'environnement intégré, assurez-vous que la version de Cloud Assistant Agent n'est pas antérieure à :
      • Linux : 2.2.3.309

      • Windows : 2.1.3.309

    • {{ACS::CommandId}} : l'identifiant de la commande. Lors de l'exécution d'une commande en appelant cette opération et si vous souhaitez utiliser {{ACS::CommandId}} comme paramètre d'environnement intégré, assurez-vous que la version de Cloud Assistant Agent n'est pas antérieure à :
      • Linux : 2.2.3.309

      • Windows : 2.1.3.309

ZWNobyAxMjM=

WorkingDir

string

Non

Le répertoire de travail de la commande sur l'instance ECS. La valeur ne peut pas dépasser 200 caractères.

Valeurs par défaut :

  • Pour les instances Linux, le répertoire par défaut est le répertoire personnel de l'utilisateur root, soit /root.

  • Pour les instances Windows, le répertoire par défaut est le répertoire où se trouve le processus Cloud Assistant Agent, par exemple C:\Windows\System32.

/home/user

Timeout

integer

Non

Le délai d'expiration pour l'exécution de la commande. Unité : secondes.

Un délai d'expiration se produit lorsqu'une commande ne peut pas être exécutée en raison de problèmes de processus, de modules manquants ou de l'absence de Cloud Assistant Agent. Lorsqu'un délai d'expiration se produit, le processus de commande est arrêté de force.

Valeur par défaut : 60.

3600

EnableParameter

boolean

Non

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

Valeur par défaut : false.

false

RepeatMode

string

Non

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. Lorsque ce paramètre est défini sur Period, vous devez également spécifier le paramètre Frequency.

  • 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.

  • DryRun : effectue un test à blanc de la requête sans exécuter réellement la commande. Les vérifications incluent les paramètres de la requête, l'environnement d'exécution de l'instance et l'état de fonctionnement de Cloud Assistant Agent.

Valeurs par défaut :

  • Lorsque le paramètre Frequency n'est pas spécifié, la valeur par défaut est Once.

  • Lorsque le paramètre Frequency est spécifié, la commande est traitée comme Period, que ce paramètre soit défini ou non.

Précautions :

  • Vous pouvez appeler StopInvocation pour arrêter une commande en attente ou planifiée.

  • Lorsque ce paramètre est défini sur Period ou EveryReboot, vous pouvez appeler DescribeInvocationResults et spécifier IncludeHistory=true pour afficher l'historique d'exécution de la commande planifiée.

Once

Timed

boolean

Non

[Deprecated] Ce paramètre est obsolète. La transmission de ce paramètre n'a aucun effet.

true

Frequency

string

Non

La planification pour l'exécution de la commande. Trois méthodes de planification sont prises en charge : l'exécution à intervalles fixes (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 à intervalles fixes : basée sur les expressions Rate, la commande est exécutée à l'intervalle spécifié. L'intervalle peut être spécifié en secondes (s), minutes (m), heures (h) ou jours (d). Cette méthode s'applique aux scénarios où les tâches sont exécutées à intervalles fixes. Format : rate(<valeur d'intervalle><unité d'intervalle>). Par exemple, pour exécuter une commande toutes les 5 minutes, utilisez rate(5m). Les limites suivantes s'appliquent à l'exécution à intervalles fixes :

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

    • L'intervalle est basé sur une fréquence fixe et n'est pas lié à l'heure d'exécution réelle de la tâche. Par exemple, si une commande est définie pour s'exécuter toutes les 5 minutes et que la tâche prend 2 minutes, le cycle suivant commence 3 minutes après la fin de la tâche.

    • La tâche n'est pas exécutée immédiatement lors de sa création. Par exemple, si une commande est définie pour s'exécuter toutes les 5 minutes, la commande n'est pas exécutée immédiatement lors de la création de la tâche. L'exécution commence au contraire 5 minutes après la création de la tâche.

  • 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>). Si aucun fuseau horaire n'est spécifié, UTC est utilisé par défaut. 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 (8e fuseau horaire Est) ou GMT-7:00 (7e fuseau horaire Ouest). Lors de l'utilisation du format GMT, les zéros non significatifs ne sont pas pris en charge dans le champ des heures.

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

    Par exemple, pour exécuter une commande une seule fois à 13:15:30 le 6 juin 2022 à l'heure de Chine/Shanghai, utilisez : at(2022-06-06 13:15:30 Asia/Shanghai). Pour exécuter une commande une seule fois à 13:15:30 le 6 juin 2022 dans le 7e fuseau horaire Ouest, 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>, c'est-à-dire <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é, le fuseau horaire du système de l'instance exécutant la tâche planifiée est utilisé par défaut. 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 (8e fuseau horaire Est) ou GMT-7:00 (7e fuseau horaire Ouest). Lors de l'utilisation du format GMT, les zéros non significatifs ne sont pas pris en charge dans le champ des heures.

    • Abréviation du fuseau horaire : seul UTC (temps universel coordonné) est pris en charge. Par exemple, pour exécuter une commande une fois par jour à 10h15 à l'heure de Chine/Shanghai en 2022, utilisez 0 15 10 ? * * 2022 Asia/Shanghai. Pour exécuter une commande toutes les 30 minutes de 10h00 à 11h30 chaque jour dans le 8e fuseau horaire Est en 2022, utilisez 0 0/30 10-11 * * ? 2022 GMT+8:00. Pour exécuter une commande toutes les 5 minutes de 14h00 à 14h55 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 minimum doit être supérieur ou égal au délai d'expiration de la tâche planifiée et ne pas être inférieur à 10 secondes.

0 */20 * * * ?

Parameters

object

Non

Les paires clé-valeur des paramètres personnalisés à transmettre lors de l'exécution d'une commande contenant des paramètres personnalisés. Par exemple, si le contenu de la commande est echo {{name}}, vous pouvez transmettre la paire clé-valeur {"name":"Jack"} via le paramètre Parameter. Le paramètre personnalisé remplace automatiquement la valeur de la variable name, et la commande réellement exécutée est echo Jack.

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.

  • Après l'encodage en Base64 des paramètres personnalisés et du contenu de la commande d'origine, la taille totale ne peut pas dépasser 24 Ko. Vous pouvez utiliser KeepCommand pour spécifier s'il faut conserver la commande.

  • 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 désactive les paramètres personnalisés.

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

KeepCommand

boolean

Non

Indique s'il faut conserver la commande après l'exécution. Valeurs valides :

  • true : conserve la commande. La commande peut être exécutée à nouveau en appelant InvokeCommand. Cela compte dans le quota de conservation des commandes Cloud Assistant.

  • false : ne conserve pas la commande. La commande est automatiquement supprimée après l'exécution et ne compte pas dans le quota de conservation des commandes Cloud Assistant.

Valeur par défaut : false.

false

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. Les valeurs non valides sont traitées comme PlainText.

Base64

Username

string

Non

Le nom d'utilisateur pour l'exécution de la commande sur l'instance ECS. La valeur ne peut pas dépasser 255 caractères.

  • Pour les instances ECS Linux, les commandes sont exécutées en tant qu'utilisateur root par défaut.

  • Pour les instances ECS Windows, les commandes sont exécutées en tant qu'utilisateur System par défaut.

Vous pouvez également spécifier un autre utilisateur existant sur l'instance pour exécuter la commande. L'exécution des commandes Cloud Assistant en tant qu'utilisateur standard est plus sécurisée. Pour plus d'informations, consultez Configurer un utilisateur standard pour exécuter des commandes Cloud Assistant.

test

WindowsPasswordName

string

Non

Le nom du mot de passe de l'utilisateur qui exécute la commande sur une instance Windows. La valeur ne peut pas dépasser 255 caractères.

Lorsque vous souhaitez exécuter une commande en tant qu'utilisateur non par défaut (System) sur une instance Windows, vous devez spécifier à la fois Username et ce paramètre. Pour réduire le risque de fuite de mot de passe, stockez le mot de passe en texte brut dans le référentiel de paramètres de la gestion des opérations, et ne transmettez que le nom du mot de passe ici. Pour plus d'informations, consultez Paramètres de chiffrement et Paramètres pour qu'un utilisateur standard exécute des commandes Cloud Assistant.

Remarque

Ce paramètre n'est pas requis lorsque vous exécutez des commandes en tant qu'utilisateur root sur une instance Linux ou en tant qu'utilisateur System sur une instance Windows.

axtSecretPassword

InstanceId

array

Non

Le tableau d'identifiants d'instances ECS. Longueur du tableau : de 1 à 100.

Si l'une des instances spécifiées ne remplit pas les conditions d'exécution, vous devez resélectionner les instances.

Vous pouvez également demander une augmentation de quota dans le Centre de quotas (nom du quota : Nombre maximal d'instances prises en charge pour l'exécution de commandes).

i-bp185dy2o3o6neg****

string

Non

L'identifiant de l'instance ECS.

i-bp185dy2o3o6neg****

Tag

array<object>

Non

Les paires de balises. Longueur du tableau : de 0 à 20.

object

Non

La paire de balises.

Value

string

Non

La valeur de la balise de l'exécution de la commande. La valeur peut être une chaîne vide.

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

TestValue

Key

string

Non

La clé de la balise de l'exécution de la commande. Si cette valeur est spécifiée, elle ne peut pas être une chaîne vide.

Lorsque vous utilisez une seule balise pour filtrer les ressources, le nombre de ressources sous cette balise ne peut pas dépasser 1 000. Lorsque vous utilisez plusieurs balises pour filtrer les ressources, le nombre de ressources auxquelles toutes les balises spécifiées sont attachées ne peut pas dépasser 1 000. Si le nombre de ressources dépasse 1 000, utilisez l'opération ListTagResources pour interroger les ressources.

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

TestKey

ContainerId

string

Non

L'identifiant du conteneur. Seules les chaînes hexadécimales de 64 bits sont prises en charge. Le préfixe docker://, containerd:// ou cri-o:// peut être utilisé pour spécifier explicitement l'environnement d'exécution du conteneur.

Précautions :

  • Si ce paramètre est spécifié, Cloud Assistant exécute le script dans le conteneur spécifié sur l'instance.

  • Si ce paramètre est spécifié, la commande ne peut être exécutée que sur des instances Linux avec la version 2.2.3.344 ou ultérieure de Cloud Assistant Agent.

  • Si ce paramètre est spécifié, les paramètres Username et WorkingDir ne prennent pas effet. La commande est exécutée uniquement en tant qu'utilisateur par défaut du conteneur dans le répertoire de travail par défaut du conteneur. Pour plus d'informations, consultez Utiliser Cloud Assistant pour exécuter des commandes dans des conteneurs.

Remarque

Seuls les scripts Shell sont pris en charge dans les conteneurs Linux. La spécification d'un interpréteur au début du script au format #!/usr/bin/python n'est pas prise en charge. Pour plus d'informations, consultez Utiliser Cloud Assistant pour exécuter des commandes dans des conteneurs.

ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****

ContainerName

string

Non

Le nom du conteneur.

Précautions :

  • Si ce paramètre est spécifié, Cloud Assistant exécute le script dans le conteneur spécifié sur l'instance.

  • Si ce paramètre est spécifié, la commande ne peut être exécutée que sur des instances Linux avec la version 2.2.3.344 ou ultérieure de Cloud Assistant Agent.

  • Si ce paramètre est spécifié, les paramètres Username et WorkingDir ne prennent pas effet. La commande est exécutée uniquement en tant qu'utilisateur par défaut du conteneur dans le répertoire de travail par défaut du conteneur. Pour plus d'informations, consultez Utiliser Cloud Assistant pour exécuter des commandes dans des conteneurs.

Remarque

Seuls les scripts Shell sont pris en charge dans les conteneurs Linux. La spécification d'un interpréteur au début du script au format #!/usr/bin/python n'est pas prise en charge. Pour plus d'informations, consultez Utiliser Cloud Assistant pour exécuter des commandes dans des conteneurs.

test-container

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 vous devez vous assurer que le jeton est unique parmi les différentes requêtes. 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

OssOutputDelivery

string

Non

La configuration de livraison OSS pour la sortie de l'exécution de la commande.

  • Format : oss://${BucketName}/${Prefix}, où ${BucketName} est le nom du compartiment OSS de destination et ${Prefix} est le préfixe de répertoire pour la livraison.

oss://testBucket/testPrefix

ResourceTag

array<object>

Non

Les balises utilisées pour filtrer les instances. Longueur du tableau : de 0 à 20. Vous pouvez exécuter des commandes par lots sur des instances avec les mêmes balises sans spécifier InstanceId.

object

Non

La balise utilisée pour filtrer les instances. Vous pouvez exécuter des commandes par lots sur des instances avec les mêmes balises sans spécifier InstanceId.

Value

string

Non

La valeur de la balise utilisée pour filtrer les instances.

Précautions :

  • La valeur peut être une chaîne vide.

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

TestValue

Key

string

Non

La clé de la balise utilisée pour filtrer les instances.

Précautions :

  • Ce paramètre est en conflit avec le paramètre InstanceId. Ils ne peuvent pas être spécifiés en même temps.

  • Si cette valeur est spécifiée, elle ne peut pas être une chaîne vide.

  • Le nombre d'instances sous la balise ne peut pas dépasser la limite de quantité de InstanceId.N. Si le nombre d'instances dépasse la limite, contrôlez le nombre d'instances en ajoutant des balises de lot, telles que batch: b1.

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

TestKey

TerminationMode

string

Non

Le mode d'arrêt de la tâche (arrêt manuel ou interruption par délai d'expiration). Valeurs valides :

  • Process : arrête le processus de script actuel.

  • ProcessTree : arrête l'arborescence de processus actuelle (l'ensemble du processus de script et de tous les processus enfants qu'il a créés).

ProcessTree

Launcher

string

Non

Le programme d'amorçage pour l'exécution du script. La valeur ne peut pas dépasser 1 Ko.

python3 -u {{ACS::ScriptFileName|Ext(".py")}}

É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.

c-7d2a745b412b4601b2d47f6a768d****

InvokeId

string

L'identifiant d'appel.

t-7d2a745b412b4601b2d47f6a768d****

Exemples

JSON format

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

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

400 RegionId.ApiNotSupported The api is not supported in this region. Cette API n'est pas prise en charge dans la région actuelle.
400 ResourceBusy.SlrCreation The ServiceLinkedRole is still being created or has not taken effect yet. Please try again later.
400 MissingParam.InstanceId The parameter instanceId is missing or empty. L'identifiant de l'instance est vide.
400 NumberExceed.Tags Ensure the number of tag parameters is not greater than 20. Le nombre de balises spécifiées dépasse la limite.
400 InvalidTagValue.Malformed The specified Tag.n.Value is not valid. La valeur de balise spécifiée n'est pas valide. La valeur de balise peut contenir jusqu'à 128 caractères et ne peut pas contenir "http://" ou "https://".
400 Duplicate.TagKey The Tag.N.Key contain duplicate key. Des clés en double existent dans les balises. Veillez à ce que les clés soient uniques.
400 InvalidTagKey.Malformed The specified Tag.n.Key is not valid. La clé de balise spécifiée n'est pas valide. La clé de balise ne peut pas être vide ou nulle, peut contenir jusqu'à 128 caractères, et ne peut pas commencer par "aliyun" ou "acs:", ni contenir "http://" ou "https://".
400 MissingParameter.TagKey You must specify Tag.N.Key. Spécifiez une clé de balise.
400 InvalidContainerId.Malformed The specified parameter ContainerId is not valid. L'identifiant de conteneur spécifié n'est pas valide.
400 InvalidContainerName.Malformed The specified parameter ContainerName is not valid. Le nom de conteneur spécifié n'est pas valide.
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.
400 CmdParam.EmptyKey Command parameters can not be empty.
400 CmdParam.InvalidParamName A command parameter name is invalid.
400 CmdContent.DecodeError The CommandContent can not be base64 decoded. Le contenu de la commande ne peut pas être décodé en Base64.
400 InvalidInstance.NotMatch The specified instance type does not match the command.
400 MissingParam.Frequency The frequency must be specified when you create a timed task.
400 InvalidParam.Frequency The specified frequency is invalid.
400 ParameterKey.Duplicate The parameter may not contain duplicate keys. Le nom du paramètre ne peut pas être dupliqué. Vérifiez le nom et réessayez.
400 Parameter.NotMatched The parameters of creation do not match those of invocation. Les paramètres personnalisés transmis ne correspondent pas aux paramètres personnalisés définis lors de la création de la commande.
400 WindowsPasswordName.Missed WindowsPasswordName must be specified when you create a Windows task.
400 Parameter.Disabled Parameters should not be passed when CreateCommand.EnableParameter is false. Ne transmettez pas de paramètres personnalisés lorsque vous désactivez la fonctionnalité de paramètres personnalisés pour une commande.
400 InvalidParameter.WorkingDir The specified parameter WorkingDir is not valid. Le paramètre WorkingDir spécifié n'est pas valide.
400 NumberExceed.ResourceTags The maximum number of ResourceTags is exceeded.
400 MissingParameter.ResourceTagKey You must specify ResourceTag.N.Key.
400 InvalidResourceTagKey.Malformed The specified ResourceTag key is not valid.
400 InvalidResourceTagValue.Malformed The specified ResourceTag value is not valid.
400 Duplicate.ResourceTagKey The ResourceTag contains duplicate keys.
400 InvalidResourceTag.InstanceNotFound InstanceIds are not found by the specified ResourceTag.
400 InvalidResourceTag.ConflictWithInstanceIds The specified param ResourceTag conflicts with InstanceId.
400 InvalidOssOutputDelivery.BucketInOtherRegion The OSS bucket specified in the parameter OssOutputDelivery is in another region. Le bucket OSS spécifié dans le paramètre OssOutputDelivery se trouve dans une région différente.
400 InvalidParameter.OssOutputDelivery The specified parameter OssOutputDelivery is not valid. Le paramètre OssOutputDelivery spécifié est invalide.
400 InvalidOssOutputDelivery.KeyPrefixMalformed The prefix of the OSS key specified in the parameter OssOutputDelivery is not valid. Le préfixe spécifié dans le paramètre OssOutputDelivery n'est pas valide.
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 plus tard.
403 InvalidOssOutputDelivery.BucketAccessDenied The error message returned by the OSS API is: %s
403 CmdContent.ExceedLimit The length of the command content exceeds the upper limit. La longueur du contenu de la commande dépasse la limite supérieure.
403 CmdName.ExceedLimit The length of the command name exceeds the upper limit. La longueur du nom de la commande dépasse la limite supérieure.
403 CmdDesc.ExceedLimit The length of the command description exceeds the upper limit. La longueur de la description de la commande dépasse la limite supérieure.
403 CmdCount.ExceedQuota The total number of commands in the current region exceeds the quota. Le nombre de commandes Cloud Assistant dans la région actuelle a dépassé la limite.
403 CmdParamCount.ExceedLimit You've reached the limit on the count of command parameters.
403 CmdParamName.ExceedLimit The length of the command parameter name exceeds the limit. La longueur du nom du paramètre personnalisé dans la commande dépasse la limite supérieure.
403 InstanceIds.ExceedLimit The number of instance IDs exceeds the upper limit. Le nombre d'instances cibles dépasse la limite supérieure.
403 Invocation.ExceedQuota The invocation quota in the current region has been reached for today. Le nombre d'opérations d'exécution de commandes dans la région actuelle a atteint le quota du jour.
403 ParameterCount.ExceedLimit The number of command parameters exceeds the maximum number that can be set. Le nombre de paramètres personnalisés dépasse la limite.
403 ParameterKey.ExceedLimit The length of the specified parameter key exceeds the maximum length that can be set. La longueur de la clé de paramètre spécifiée dépasse la longueur maximale autorisée.
403 ParameterType.NotSupported The type of parameter value is not supported.
403 Username.ExceedLimit The length of the username exceeds the upper limit. La longueur du nom d'utilisateur dépasse la limite supérieure.
403 WindowsPasswordName.ExceedLimit The length of the WindowsPasswordName exceeds the upper limit. La longueur du paramètre WindowsPasswordName spécifié dépasse la limite supérieure.
403 ParameterStore.NotSupported Parameter Store is not supported in this region.
403 TemporaryAccessKey.Error The temporary accessKey is invalid.
403 ParameterStore.InvalidParameters The parameter is invalid in Parameter Store. Le paramètre spécifié par {{oos:?}} dans le contenu de la commande n'a pas été trouvé.
403 ParameterStore.NoPermission You have no access to Parameter Store.
403 OperationDenied.BidOwnResource Bid user can not own resource.
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 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.
403 InvalidStatus.ResourceGroup You cannot perform an operation on a resource group that is being created or deleted. Les opérations ne sont pas autorisées pendant la création ou la suppression du groupe de ressources.
403 InvalidParameterCharacter.CommandName The command Name contains illegal characters. Le nom de la commande contient des caractères non valides.
403 InvalidParameterCharacter.CommandDescription The command Description contains illegal characters. La description de la commande contient des caractères non valides.
403 InvalidParameterCharacter.CommandWorkingDir The command WorkingDir contains illegal characters. Le chemin d'exécution de la commande contient des caractères non valides.
403 InvalidLauncher.LengthLimitExceeded The length of the parameter Launcher exceeds the limit of 1 KB characters. La longueur du paramètre Launcher dépasse la limite de 1 Ko de caractères.
403 InvalidParameterCharset.Parameters The parameter Parameters contains illegal charset. Les paramètres de la commande contiennent des jeux de caractères non valides.
403 CreateServiceLinkedRole.NoPermission You do not have permission to create ServiceLinkedRole for output delivery. Vous n'avez pas l'autorisation de créer un rôle lié à un service pour la fonctionnalité de remise des sorties.
403 InvalidTimeout.ExceedLimit The specified parameter Timeout exceeds the upper limit.
404 InvalidCmdType.NotFound The specified command type does not exist.
404 InvalidRepeatMode.NotFound The specified repeat mode does not exist. Le mode d'exécution de commande spécifié n'existe pas.
404 InvalidRegionId.NotFound The RegionId provided does not exist in our records. Les informations de région sont invalides.
404 InvalidInstance.NotFound The specified instance does not exist. L'instance spécifiée n'existe pas.
404 InvalidCmdId.NotFound The specified command ID does not exist. Le paramètre CommandId spécifié n'est pas valide. Vérifiez si la valeur du paramètre est correcte. Vous pouvez appeler l'opération DescribeCommands pour interroger toutes les valeurs CommandId disponibles.
404 InvalidResourceGroup.NotFound The ResourceGroup provided does not exist in our records. Le groupe de ressources correspondant est introuvable.
404 InvalidTerminationMode.NotFound The specified parameter TerminationMode does not exist. Le paramètre TerminationMode spécifié n'existe pas.
404 InvalidOssOutputDelivery.BucketNotFound The OSS bucket specified in the parameter OssOutputDelivery does not exist. Le bucket spécifié dans le paramètre OssOutputDelivery n'existe pas.

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

Notes de version

Consultez Notes de version pour la liste complète.