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
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 :
|
| 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 :
Valeur par défaut :
Tenez compte des éléments suivants :
|
| 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.
|
| 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.
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.
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 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 Tenez compte des éléments suivants :
|
| ContainerName | String | No | test-container | Le nom du conteneur. Tenez compte des éléments suivants :
|
| Timeout | Long | No | 60 | La période d'expiration de l'exécution de la commande. Unité : secondes.
|
| 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 |
| 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 |
| 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.