Tous les produits
Search
Centre de documentation

Elastic Compute Service:CreateCommand

Dernière mise à jour :Aug 18, 2026

Crée une commande Cloud Assistant de type script Shell, PowerShell ou Bat.

Description de l'opération

Description de l'opération

  • Vous pouvez créer les types de commandes suivants :
    • Scripts Bat pour les instances Windows (RunBatScript).

    • Scripts PowerShell pour les instances Windows (RunPowerShellScript).

    • Scripts Shell pour les instances Linux (RunShellScript).

  • Vous pouvez spécifier le paramètre Timeout pour définir la période d'expiration maximale pour l'exécution de la commande sur les instances ECS. Si la commande expire, Cloud Assistant Agent termine de force le processus de la commande en annulant le PID de la commande.
    • Pour une exécution unique, après l'expiration de la commande, l'état d'exécution (InvokeRecordStatus) de la commande sur l'instance ECS spécifiée devient Failed.

    • Pour une exécution planifiée :
      • La période d'expiration prend effet pour chaque enregistrement d'exécution.

      • Après l'expiration d'une exécution spécifique, l'état (InvokeRecordStatus) de l'enregistrement d'exécution devient Failed.

      • L'expiration d'une exécution précédente n'affecte pas l'exécution suivante.

  • Dans une région, vous pouvez conserver de 500 à 50 000 commandes Cloud Assistant. 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.

  • Vous pouvez spécifier le paramètre WorkingDir pour définir le chemin d'exécution de la commande. Pour les instances Linux, le chemin par défaut est le répertoire personnel de l'utilisateur root, à savoir /root. Pour les instances Windows, le chemin par défaut est le répertoire où se trouve le processus Cloud Assistant Agent, par exemple C:\Windows\System32.

  • Vous pouvez activer la fonctionnalité de paramètre personnalisé en spécifiant EnableParameter=true. Lorsque vous définissez 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 (InvokeCommand). Par exemple, si vous créez la commande echo {{name}} et transmettez la paire clé-valeur <name, Jack> via le paramètre Parameters lors de l'appel à InvokeCommand, le paramètre personnalisé est automatiquement remplacé. Une nouvelle commande echo Jack est générée et exécutée sur l'instance.

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

create

*Command.

acs:ecs:{#regionId}:{#accountId}:command/*

Aucune 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 obtenir la liste la plus récente des régions.

cn-hangzhou

Name

string

Oui

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 la commande. Valeurs valides :

  • RunBatScript : crée un script Bat à exécuter sur des instances Windows.

  • RunPowerShellScript : crée un script PowerShell à exécuter sur des instances Windows.

  • RunShellScript : crée un script Shell à exécuter sur des instances Linux.

RunShellScript

CommandContent

string

Oui

Le contenu de la commande encodé en Base64.

  • La valeur de ce paramètre doit être encodée en Base64 et ne peut pas dépasser 24 Ko après l'encodage Base64.

  • Le contenu de la commande prend en charge les paramètres personnalisés. Pour activer la fonctionnalité de paramètre personnalisé, spécifiez EnableParameter=true :

    • Les paramètres personnalisés sont définis en plaçant le nom du paramètre entre {{}}. 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 ne peuvent contenir que des lettres (a-z, A-Z), des chiffres (0-9), des traits d'union (-) et des traits de soulignement (_). 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 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, Cloud Assistant remplace automatiquement les paramètres par les valeurs correspondantes de l'environnement sans nécessiter d'attribution manuelle. Les paramètres d'environnement intégrés suivants sont pris en charge :

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

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

    • {{ACS::InstanceId}} : l'identifiant de l'instance. Lorsque la 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. Lorsque la 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'exécution de la commande. 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. Lorsque vous exécutez une commande en appelant l'opération RunCommand et que 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 dans lequel la commande est exécutée sur l'instance ECS. La valeur ne peut pas dépasser 200 caractères.

Valeur par défaut :

  • Instances Linux : le répertoire personnel de l'utilisateur root, à savoir /root.

  • Instances Windows : le répertoire où se trouve le processus Cloud Assistant Agent, par exemple C:\Windows\System32.

Remarque

Si vous définissez ce paramètre sur un répertoire différent, assurez-vous que le répertoire existe sur l'instance.

/home/user

Timeout

integer

Non

La période d'expiration maximale pour l'exécution de la commande sur les instances ECS. Unité : secondes. Si la commande ne peut pas être exécutée pour une raison quelconque, une expiration se produit. Après l'expiration, le processus de la commande est terminé de force en annulant le PID de la commande.

Valeur par défaut : 60.

60

EnableParameter

boolean

Non

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

Valeur par défaut : false.

false

ContentEncoding

string

Non

Le mode d'encodage du contenu de la commande (CommandContent). Valeurs valides :

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

  • Base64 : encodage Base64.

Valeur par défaut : Base64.

Remarque

Si une valeur non valide est spécifiée, elle est traitée comme Base64.

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 pour chaque requête. ClientToken prend uniquement en charge les 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

ResourceGroupId

string

Non

L'identifiant du groupe de ressources auquel la commande appartient.

rg-123******

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")}}

Tag

array<object>

Non

Les balises.

object

Non

Les balises.

Key

string

Non

La clé de balise de la commande. Valeurs valides de N : 1 à 20. La clé de balise ne peut pas être une chaîne vide.

Si vous utilisez une seule balise pour filtrer les ressources, le nombre de ressources avec la balise spécifiée ne peut pas dépasser 1000. Si 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 1000. Si le nombre de ressources dépasse 1000, utilisez l'opération ListTagResources pour interroger les ressources.

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

TestKey

Value

string

Non

La valeur de balise de la commande. Valeurs valides de N : 1 à 20. La valeur de balise peut être une chaîne vide.

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

TestValue

Éléments de réponse

Élément

Type

Description

Exemple

object

CommandId

string

L'identifiant de la commande.

c-7d2a745b412b4601b2d47f6a768d****

RequestId

string

L'identifiant de la requête.

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

Exemples

JSON format

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

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 CmdParam.EmptyKey You must specify the parameter names.
400 CmdParam.InvalidParamName Invalid parameter name. The name can contain only lowercase letters (a to z), uppercase letters (A to Z), numbers (0 to 9), hyphens (-), and underscores (_).
400 CmdContent.DecodeError The CommandContent can not be base64 decoded. Le contenu de la commande ne peut pas être décodé en Base64.
400 InvalidParameter.WorkingDir The specified parameter WorkingDir is not valid. Le paramètre WorkingDir 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.
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 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 The maximum number of custom parameters is exceeded. Le nombre de paramètres dépasse la quantité maximale configurable.
403 CmdParamName.ExceedLimit The maximum length of a parameter name is exceeded. La longueur du nom du paramètre personnalisé dans la commande dépasse la limite supérieure.
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 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 InvalidTimeout.ExceedLimit The specified parameter Timeout exceeds the upper limit.
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 InvalidCmdType.NotFound The specified command type does not exist.
404 InvalidRegionId.NotFound The RegionId provided does not exist in our records. Les informations de région sont invalides.
404 InvalidResourceGroup.NotFound The ResourceGroup provided does not exist in our records. Le groupe de ressources correspondant est introuvable.

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

Notes de version

Consultez Notes de version pour la liste complète.