Ejecuta un comando de Cloud Assistant en instancias de Elastic Compute Service (ECS).
Notas de uso
-
Las instancias de ECS donde desea ejecutar el comando de Cloud Assistant deben cumplir los siguientes requisitos. Si se especifican varias instancias de ECS y alguna no cumple con los requisitos de ejecución, la llamada fallará. Debe especificar instancias que cumplan los requisitos y volver a invocar la operación InvokeCommand.
Las instancias deben tener el estado Running (
Running). Puede llamar a la operación DescribeInstances para consultar el estado de las instancias.Cloud Assistant Agent debe estar instalado en las instancias. Para obtener más información, consulte Install Cloud Assistant Agent.
Antes de ejecutar comandos de PowerShell en las instancias, asegúrese de que el módulo de PowerShell esté configurado.
El comando puede ejecutarse una sola vez en las instancias.
-
El comando puede ejecutarse varias veces en las instancias según una programación.
La programación se define mediante el parámetro Frequency. Los resultados de cada ejecución no afectan a la siguiente.
-
Si desea definir una programación mediante una expresión cron, puede especificar una zona horaria según sus necesidades. Si no especifica una zona horaria, la programación se determina según la hora del sistema de la instancia. Asegúrese de que la hora o la zona horaria de la instancia coincida con lo que requiere su caso de uso. Para obtener más información sobre zonas horarias, consulte Configure the NTP service for ECS instances that run CentOS 6 o Configure the NTP service for Windows instances.
Para garantizar que las tareas programadas se ejecuten correctamente, asegúrese de que la versión de Cloud Assistant Agent no sea anterior a las versiones indicadas a continuación. Puede configurar un comando para que se ejecute a intervalos fijos mediante una expresión rate, para que se ejecute una sola vez en un momento específico, o para que se ejecute en momentos designados mediante una expresión cron. Si se devuelve el código de error ClientNeedUpgrade, debe actualizar Cloud Assistant Agent a la versión más reciente. Para obtener más información, consulte Update or disable updates for Cloud Assistant Agent.
Linux: 2.2.3.282
Windows: 2.1.3.282
Los comandos pueden fallar debido a anomalías en el estado de la instancia, problemas de red o errores en Cloud Assistant Agent. Si un comando no se ejecuta, no se genera información de ejecución. Para obtener más información, consulte Check execution results and troubleshoot common issues.
Si habilitó la función de parámetros personalizados al crear el comando, debe especificar los parámetros personalizados (
Parameters) para ejecutarlo.Antes de ejecutar un comando en las instancias, especialmente si son nuevas, le recomendamos llamar a la operación DescribeCloudAssistantStatus para consultar el estado de Cloud Assistant Agent instalado y asegurarse de que el valor devuelto de CloudAssistantStatus sea true.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | InvokeCommand | La operación que desea realizar. Establezca el valor en InvokeCommand. |
| RegionId | String | Sí | cn-hangzhou | El ID de región del comando. Puede llamar a la operación DescribeRegions para consultar la lista de regiones más reciente. |
| ResourceGroupId | String | No | rg-bp67acfmxazb4p**** | El ID del resource group al que se asignarán las ejecuciones del comando. Al establecer este parámetro, tenga en cuenta lo siguiente:
|
| CommandId | String | Sí | c-e996287206324975b5fbe1d**** | El ID del comando. Puede llamar a la operación DescribeCommands para consultar todos los ID de comando disponibles. Nota Los comandos comunes de Cloud Assistant pueden ejecutarse por su nombre. Para obtener más información, consulte View and run common Cloud Assistant commands. |
| RepeatMode | String | No | Once | Define cómo se ejecutará el comando. Valores válidos:
Valor predeterminado:
Tenga en cuenta los siguientes puntos:
|
| Timed | Boolean | No | true | Nota Este parámetro no surte efecto y ya no se utiliza. |
| Frequency | String | No | 0 */20 * * * ? | La programación para ejecutar el comando. Puede configurar un comando para que se ejecute a intervalos fijos mediante una expresión rate, para que se ejecute una sola vez en un momento específico, o para que se ejecute en momentos designados mediante una expresión cron.
|
| Parameters | Map | No | {"name":"Jack", "accessKey":"LTAIdyv******aRY"} | Los pares clave-valor de parámetros personalizados que se pasan cuando la función de parámetros personalizados está habilitada. Número de parámetros personalizados: de 0 a 10.
Si desea deshabilitar la función de parámetros personalizados, puede dejar este parámetro vacío. |
| Username | String | No | test | El nombre de usuario para ejecutar el comando en las instancias. Puede tener hasta 255 caracteres.
También puede especificar otros nombres de usuario existentes en las instancias para ejecutar el comando. Por motivos de seguridad, le recomendamos ejecutar los comandos de Cloud Assistant como un usuario estándar. Para obtener más información, consulte Configure a regular user to run Cloud Assistant commands. |
| WindowsPasswordName | String | No | axtSecretPassword | El nombre de la contraseña para ejecutar el comando en instancias Windows. El nombre puede tener hasta 255 caracteres. Si no desea usar el usuario System predeterminado para ejecutar el comando en instancias Windows, especifique tanto WindowsPasswordName como Nota Si utiliza el usuario root en instancias Linux o el usuario System en instancias Windows para ejecutar el comando, no necesita especificar WindowsPasswordName. |
| InstanceId.N | String | No | i-bp185dy2o3o6n**** | El ID de la instancia N donde se ejecutará el comando. Puede especificar hasta 50 ID de instancia en cada solicitud. Valores válidos de N: 1 a 50. |
| ContainerId | String | No | ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** | El ID del contenedor. Solo se admiten cadenas hexadecimales de 64 bits. Puede usar ID de contenedor con prefijo Tenga en cuenta los siguientes puntos:
|
| ContainerName | String | No | test-container | El nombre del contenedor. Tenga en cuenta los siguientes puntos:
|
| Timeout | Long | No | 60 | El tiempo de espera para la ejecución del comando. Unidad: segundos.
|
| Tag.N.Key | String | No | TestKey | La clave de la etiqueta N que se agregará a la tarea de comando. Valores válidos de N: 1 a 20. La clave de la etiqueta no puede ser una cadena vacía. Si se especifica una sola etiqueta para consultar recursos, la respuesta puede mostrar hasta 1,000 recursos con dicha etiqueta. Si se especifican varias etiquetas, la respuesta puede mostrar hasta 1,000 recursos que tengan todas esas etiquetas. Para consultar más de 1,000 recursos con etiquetas específicas, llame a la operación ListTagResources. La clave de la etiqueta puede tener hasta 64 caracteres y no puede comenzar con |
| Tag.N.Value | String | No | TestValue | El valor de la etiqueta N que se agregará a la tarea de comando. Valores válidos de N: 1 a 20. El valor de la etiqueta puede ser una cadena vacía. El valor de la etiqueta puede tener hasta 128 caracteres y no puede contener |
| ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | El token de cliente que se utiliza para garantizar la idempotencia de la solicitud. Puede generar el token desde el cliente, pero debe asegurarse de que sea único para cada solicitud. El token solo puede contener caracteres ASCII y no debe exceder los 64 caracteres. Para obtener más información, consulte How to ensure idempotence. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
InvokeId |
String |
t-7d2a745b412b4601b2d47f6a768d**** |
El ID de la tarea de comando. |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
El ID de la solicitud. |
Ejemplos
Solicitudes de ejemplo
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>
Respuestas exitosas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<InvokeCommandResponse>
<InvokeId>t-7d2a745b412b4601b2d47f6a768d****</InvokeId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</InvokeCommandResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"InvokeId" : "t-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|
400 |
RegionId.ApiNotSupported |
The api is not supported in this region. |
Esta operación no se puede realizar en la región especificada. Compruebe si el parámetro RegionId es válido. |
|
400 |
MissingParam.InstanceId |
The parameter instanceId is missing or empty. |
InstanceId.N es obligatorio. |
|
400 |
InvalidContainerId.Malformed |
The specified parameter ContainerId is not valid. |
Valor de ContainerId no válido. |
|
400 |
InvalidContainerName.Malformed |
The specified parameter ContainerName is not valid. |
Valor de ContainerName no válido. |
|
400 |
InvalidClientToken.Malformed |
The specified parameter clientToken is not valid. |
Valor de ClientToken no válido. |
|
400 |
InvalidInstance.NotMatch |
The specified instance type does not match the command. |
El comando especificado no se puede ejecutar en la instancia indicada. Compruebe si el estado de la instancia cumple las condiciones para ejecutar comandos de Cloud Assistant. |
|
400 |
MissingParam.Frequency |
The frequency must be specified when you create a timed task. |
El parámetro Frequency es obligatorio al crear una tarea de comando programada. |
|
400 |
InvalidParam.Frequency |
The specified frequency is invalid. |
Valor de Frequency no válido. Compruebe si el valor especificado es correcto. |
|
400 |
Parameter.MissingValue |
The parameter value of this command is required. |
El parámetro es obligatorio. |
|
400 |
Parameter.Disabled |
Parameters cannot be passed in when the command customization function is disabled. |
Se especificó el parámetro Parameters cuando la función de parámetros personalizados estaba deshabilitada. |
|
400 |
InvalidParameter.Parameters |
The specified parameter Parameters is not valid. |
Valor de Parameters no válido. |
|
403 |
InstanceIds.ExceedLimit |
The number of instance IDs exceeds the upper limit. |
Se superó el número máximo de ID de instancia. |
|
403 |
Invocation.ExceedQuota |
The invocation quota in the current region has been reached for today. |
Se superó el límite diario de ejecuciones de comandos en la región actual. |
|
403 |
ParameterCount.ExceedLimit |
The maximum number of parameters is exceeded. |
Se superó el número máximo de parámetros personalizados especificados. |
|
403 |
ParameterKey.ExceedLimit |
The maximum length of a parameter name is exceeded. |
La clave de un parámetro personalizado supera los 64 caracteres. |
|
403 |
CmdContent.ExceedLimit |
The maximum length of a command is exceeded. |
Se superó la longitud máxima del comando. Acórtelo. |
|
403 |
ParameterKey.Duplicate |
Parameter names cannot be duplicated. |
Ya existe un parámetro con el mismo nombre. Los nombres de los parámetros deben ser únicos. |
|
403 |
Parameter.NotMatched |
The passed-in parameters do not match the parameters defined when you created the command. |
Los parámetros personalizados proporcionados no coinciden con los especificados al crear el comando. |
|
403 |
ParameterType.NotSupported |
The type of parameter value is not supported. |
Tipo de parámetro personalizado no válido. |
|
403 |
Username.ExceedLimit |
The length of the username exceeds the upper limit. |
Se superó la longitud máxima del nombre de usuario. |
|
403 |
WindowsPasswordName.ExceedLimit |
The length of the WindowsPasswordName exceeds the upper limit. |
Se superó la longitud máxima de WindowsPasswordName. |
|
403 |
WindowsPasswordName.Missed |
WindowsPasswordName must be specified when you create a Windows task. |
WindowsPasswordName es obligatorio. |
|
403 |
ParameterStore.InvalidParameters |
The parameter is invalid in Parameter Store. |
No se encontró el parámetro personalizado con formato {{oos:?}}. |
|
403 |
Operation.Forbidden |
The operation is not permitted. |
La operación no es compatible. |
|
403 |
IdempotentParameterMismatch |
The specified parameter has changed while using an already used clientToken. |
El token de cliente ya está en uso. |
|
403 |
IdempotentProcessing |
The previous idempotent request(s) is still processing. |
Una solicitud idempotente anterior se está procesando. Inténtelo de nuevo más tarde. |
|
404 |
InvalidRepeatMode.NotFound |
The specified repeat mode does not exist. |
Valor de RepeatMode no válido. |
|
404 |
InvalidInstance.NotFound |
The specified instance does not exist. |
No se encontró la instancia especificada. |
|
404 |
InvalidCmdId.NotFound |
The specified command ID does not exist. |
Valor de CommandId no válido. Puede llamar a la operación DescribeCommands para consultar todos los ID de comando disponibles. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
No se encontró el ID del resource group. |
|
500 |
InternalError.Dispatch |
An error occurred when you dispatched the request. |
Ocurrió un error al enviar la solicitud. Inténtelo de nuevo más tarde. |
Para consultar una lista de códigos de error, visite Service error codes.