Crée une commande Cloud Assistant.
Notes d'utilisation
-
Vous pouvez créer des commandes des types suivants :
Commandes par lots (RunBatScript), applicables aux instances Windows
Commandes PowerShell (RunPowerShellScript), applicables aux instances Windows
Commandes Shell (RunShellScript), applicables aux instances Linux
-
Spécifiez le paramètre Timeout pour définir la durée maximale d'exécution d'une commande sur les instances Elastic Compute Service (ECS). En cas de dépassement du délai, l'agent Cloud Assistant Agent met fin de force au processus de la commande en annulant son identifiant de processus (PID).
Pour une tâche ponctuelle, lorsque l'exécution expire, l'état de la commande (InvokeRecordStatus) devient Failed.
-
Pour une tâche planifiée, tenez compte des points suivants :
Le délai d'expiration s'applique à chaque exécution.
Lorsqu'une exécution expire, l'état (InvokeRecordStatus) de la commande devient Failed.
L'expiration d'une exécution n'affecte pas les exécutions suivantes.
Vous pouvez conserver entre 500 et 10 000 commandes Cloud Assistant par région. Pour consulter les quotas de ressources, consultez la rubrique View and increase resource quotas ou appelez l'opération DescribeAccountAttribute.
Utilisez le paramètre WorkingDir pour spécifier le répertoire d'exécution d'une commande Cloud Assistant. Pour les instances Linux, le répertoire d'exécution par défaut est le répertoire personnel de l'utilisateur root, soit /root. Pour les instances Windows, il s'agit du répertoire où réside le processus Cloud Assistant Agent, par exemple C:\Windows\System32.
Activez la fonctionnalité de paramètres personnalisés pour une commande Cloud Assistant en définissant EnableParameter sur true. Lors de la définition de CommandContent, vous pouvez définir des paramètres personnalisés au format {{parameter}}. Ensuite, lors de l'appel de l'opération InvokeCommand, les paires clé-valeur des paramètres personnalisés sont transmises. Par exemple, si une commande est echo {{name}}, le paramètre Parameters permet de transmettre la paire clé-valeur
lors de l'appel de l'opération InvokeCommand. La clé name du paramètre personnalisé est automatiquement remplacée par la valeur Jack associée pour générer une nouvelle commande. Par conséquent, la commande echo Jack est effectivement exécutée.
Débogage
Paramètres de requête
|
Paramètre |
Type |
Obligatoire |
Exemple |
Description |
| Action | String | Oui | CreateCommand | Opération à effectuer. Définissez la valeur sur CreateCommand. |
| RegionId | String | Oui | cn-hangzhou | ID de la région dans laquelle créer la commande. Vous pouvez appeler l'opération DescribeRegions pour interroger la liste des régions la plus récente. |
| Name | String | Oui | testName | Nom de la commande. Le nom prend en charge tous les jeux de caractères et peut comporter jusqu'à 128 caractères. |
| Description | String | Non | testDescription | Description de la commande. La description prend en charge tous les jeux de caractères et peut comporter jusqu'à 512 caractères. |
| Type | String | Oui | RunShellScript | Type de la commande. Valeurs possibles :
|
| CommandContent | String | Oui | ZWNobyAxMjM= | Contenu de la commande encodé en Base64. Tenez compte des points suivants :
|
| WorkingDir | String | Non | /home/user | Chemin d'exécution de la commande sur les instances ECS. La valeur peut comporter jusqu'à 200 caractères. Valeurs par défaut :
Remarque Si vous définissez WorkingDir sur une valeur autre que les valeurs par défaut, assurez-vous que le répertoire existe sur l'instance. |
| Timeout | Long | Non | 60 | Délai d'expiration maximal pour l'exécution de la commande sur l'instance. Unité : secondes. Lorsqu'une commande que vous avez créée ne peut pas être exécutée, elle expire. Lorsqu'une exécution de commande expire, Cloud Assistant Agent met fin de force au processus de la commande en annulant le PID. Valeur par défaut : 60. |
| EnableParameter | Boolean | Non | false | Indique s'il faut utiliser des paramètres personnalisés dans la commande. Valeur par défaut : false. |
| ContentEncoding | String | Non | PlainText | Mode d'encodage du contenu de la commande (CommandContent). Valeurs possibles :
Valeur par défaut : Base64. Remarque Si la valeur spécifiée pour ce paramètre n'est pas valide, Base64 est utilisé par défaut. |
| ResourceGroupId | String | Non | rg-123****** | ID du groupe de ressources auquel attribuer la commande. |
| Tag.N.Key | String | Non | TestKey | Clé du tag N à ajouter à la commande. Valeurs possibles 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 ayant ce tag ajouté peuvent être affichées dans la réponse. Si plusieurs tags sont spécifiés pour interroger des ressources, jusqu'à 1 000 ressources ayant tous ces tags ajoutés peuvent être affichées dans la réponse. Pour interroger plus de 1 000 ressources ayant des tags spécifiés, appelez ListTagResources. La clé du tag peut comporter jusqu'à 64 caractères et ne peut pas commencer par |
| Tag.N.Value | String | Non | TestValue | Valeur du tag N à ajouter à la commande. Valeurs possibles de N : 1 à 20. La valeur du tag peut être une chaîne vide. Elle peut comporter jusqu'à 128 caractères et ne peut pas contenir |
Paramètres de réponse
|
Paramètre |
Type |
Exemple |
Description |
|
CommandId |
String |
c-7d2a745b412b4601b2d47f6a768d**** |
ID de la commande. |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
ID de la requête. |
Exemples
Exemples de requêtes
http(s)://ecs.aliyuncs.com/?Action=CreateCommand
&CommandContent=ZWNobyB7e25hbWV9fSA=
&Name=testName
&RegionId=cn-hangzhou
&Type=RunShellScript
&Description=testDescription
&WorkingDir=/home/user
&Timeout=60
&EnableParameter=true
&ContentEncoding=Base64
&<Common request parameters>
Exemples de réponses réussies
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateCommandResponse>
<CommandId>c-7d2a745b412b4601b2d47f6a768d****</CommandId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateCommandResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"CommandId" : "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Codes d'erreur
|
Code d'état HTTP |
Code d'erreur |
Message d'erreur |
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 la valeur du paramètre RegionId est valide. |
|
400 |
CmdParam.EmptyKey |
You must specify the parameter names. |
Certains paramètres obligatoires ne sont pas spécifiés. |
|
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 (_). |
Nom de paramètre personnalisé non valide. Chaque nom de paramètre personnalisé ne peut contenir que des lettres, des chiffres, des traits de soulignement (_) et des traits d'union (-). |
|
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. |
Valeur WorkingDir non valide. |
|
403 |
CmdContent.ExceedLimit |
The length of the command content exceeds the upper limit. |
La longueur maximale du contenu de la commande est dépassée. |
|
403 |
CmdName.ExceedLimit |
The length of the command name exceeds the upper limit. |
La longueur maximale du nom de la commande est dépassée. |
|
403 |
CmdDesc.ExceedLimit |
The length of the command description exceeds the upper limit. |
La longueur maximale de la description de la commande est dépassée. |
|
403 |
CmdCount.ExceedQuota |
The total number of commands in the current region exceeds the quota. |
Le nombre maximal de commandes Cloud Assistant dans la région actuelle est dépassé. |
|
403 |
CmdParamCount.ExceedLimit |
The maximum number of custom parameters is exceeded. |
Le nombre maximal de paramètres personnalisés est dépassé. |
|
403 |
CmdParamName.ExceedLimit |
The maximum length of a parameter name is exceeded. |
La longueur maximale d'un nom de paramètre personnalisé est dépassée. |
|
403 |
Operation.Forbidden |
The operation is not permitted. |
L'opération n'est pas prise en charge. |
|
403 |
InvalidStatus.ResourceGroup |
You cannot perform an operation on a resource group that is being created or deleted. |
Vous ne pouvez pas effectuer cette opération sur un groupe de ressources en cours de création ou de suppression. |
|
404 |
InvalidCmdType.NotFound |
The specified command type does not exist. |
Le type de commande spécifié est introuvable. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
Le 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 les Codes d'erreur de service.