Todos los productos
Search
Centro de documentos

:InvokeCommand

Última actualización: Sep 02, 2026

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

OpenAPI Explorer calcula automáticamente el valor de la firma. Para mayor comodidad, le recomendamos invocar esta operación desde OpenAPI Explorer. Esta herramienta genera dinámicamente el código de ejemplo de la operación para diferentes SDK.

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:

  • Las instancias especificadas por InstanceId.N deben pertenecer al resource group indicado.
  • Después de ejecutar el comando, puede llamar a la operación DescribeInvocations o DescribeInvocationResults con ResourceGroupId configurado para consultar los resultados de ejecución en el resource group especificado.
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:

  • Once: ejecuta el comando inmediatamente.
  • Period: ejecuta el comando según una programación. Si establece este parámetro en Period, debe especificar Frequency.
  • NextRebootOnly: ejecuta el comando la próxima vez que se inicie la instancia.
  • EveryReboot: ejecuta el comando cada vez que se inicie la instancia.

Valor predeterminado:

  • Si no especifica Frequency, el valor predeterminado es Once.
  • Si especifica Frequency, se utilizará Period como valor de RepeatMode, independientemente de si RepeatMode está establecido en Period.

Tenga en cuenta los siguientes puntos:

  • Puede llamar a la operación StopInvocation para detener las ejecuciones pendientes o programadas del comando.
  • Si establece este parámetro en Period o EveryReboot, puede configurar IncludeHistory en true y llamar a la operación DescribeInvocationResults para consultar los resultados de ejecuciones programadas anteriores.
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.

  • Para ejecutar el comando a un intervalo fijo, utilice una expresión rate para definir dicho intervalo. Puede especificarlo en segundos, minutos, horas o días. Esta opción es adecuada para escenarios donde las tareas deben ejecutarse periódicamente. Defina el intervalo con el siguiente formato: rate(<Valor del intervalo de ejecución><Unidad del intervalo de ejecución>). Por ejemplo, especifique rate(5m) para ejecutar el comando cada 5 minutos. Tenga en cuenta los siguientes límites al establecer un intervalo:
    • El intervalo especificado puede ser de entre 60 segundos y 7 días, pero debe ser mayor que el tiempo de espera de la tarea programada.
    • El intervalo es el tiempo transcurrido entre dos ejecuciones consecutivas y es independiente del tiempo necesario para ejecutar el comando una vez. Por ejemplo, si configura un intervalo de 5 minutos y la ejecución tarda 2 minutos, el sistema esperará 3 minutos antes de volver a ejecutar el comando.
    • Una tarea no se ejecuta inmediatamente después de su creación. Por ejemplo, si establece un intervalo de 5 minutos, la tarea comenzará a ejecutarse 5 minutos después de haberse creado.
  • Para ejecutar el comando una sola vez en un momento específico, indique un punto en el tiempo y una zona horaria. Especifique el momento con el formato at(yyyy-MM-dd HH:mm:ss <Zona horaria>), que representa at(Año-Mes-Día Hora:Minuto:Segundo <Zona horaria>). Si no especifica una zona horaria, se utilizará UTC de forma predeterminada. La zona horaria admite los siguientes formatos:
    • Nombre de la zona horaria. Ejemplos: Asia/Shanghai y America/Los_Angeles.
    • Desplazamiento horario respecto a GMT. Ejemplos: GMT+8:00 (UTC+8) y GMT-7:00 (UTC-7). Si utiliza el formato GMT, no agregue ceros a la izquierda en el valor de la hora.
    • Abreviatura de la zona horaria. Solo se admite UTC.

      Por ejemplo, para configurar un comando que se ejecute una sola vez a las 13:15:30 del 6 de junio de 2022 (hora de Shanghái), establezca la hora en at(2022-06-06 13:15:30 Asia/Shanghai). Para configurarlo a las 13:15:30 del 6 de junio de 2022 (UTC-7), establezca la hora en at(2022-06-06 13:15:30 GMT-7:00).

  • Para ejecutar un comando en momentos específicos, utilice una expresión cron para definir la programación. Especifíquela con el formato <Expresión Cron> <Zona horaria>. La expresión cron sigue el formato <segundos> <minutos> <horas> <día del mes> <mes> <día de la semana> <año (opcional)>. El sistema calcula los tiempos de ejecución según la expresión cron y la zona horaria especificadas, y ejecuta el comando según lo programado. Si no indica una zona horaria, se utilizará la zona horaria del sistema de la instancia donde se ejecutará el comando. Para obtener más información sobre expresiones cron, consulte Cron expressions. La zona horaria admite los siguientes formatos:
    • Nombre de la zona horaria. Ejemplos: Asia/Shanghai y America/Los_Angeles.
    • Desplazamiento horario respecto a GMT. Ejemplos: GMT+8:00 (UTC+8) y GMT-7:00 (UTC-7). Si utiliza el formato GMT, no agregue ceros a la izquierda en el valor de la hora.
    • Abreviatura de la zona horaria. Solo se admite UTC.

      Por ejemplo, para configurar un comando que se ejecute diariamente a las 10:15:00 durante 2022 (hora de Shanghái), establezca la programación en 0 15 10 ? * * 2022 Asia/Shanghai. Para ejecutarlo cada media hora entre las 10:00:00 y las 11:30:00 todos los días de 2022 (UTC+8), use 0 0/30 10-11 * ? 2022 GMT +8:00. Para ejecutarlo cada 5 minutos entre las 14:00:00 y las 14:55:00 de cada octubre, cada dos años a partir de 2022 en UTC, use 0 0/5 14 * 10 ? 2022/2 UTC.
      Nota El intervalo mínimo debe ser de al menos 10 segundos y no puede ser inferior al tiempo de espera de las ejecuciones programadas.
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.

  • Las claves en una colección Map pueden tener hasta 64 caracteres y no pueden ser cadenas vacías.
  • Los valores en una colección Map pueden ser cadenas vacías.
  • El tamaño combinado de los parámetros personalizados codificados en Base64 y el contenido original del comando no puede superar los 18 KB.
  • Los nombres de parámetros personalizados especificados en el valor de Parameters deben coincidir con los definidos al crear el comando. Puede usar cadenas vacías para representar los parámetros que no se pasan.

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.

  • En instancias Linux, se utiliza root de forma predeterminada.
  • En instancias Windows, se utiliza System de forma predeterminada.

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 Username. Para mitigar el riesgo de fugas de contraseñas, la contraseña se almacena en texto plano en Parameter Store de Operation Orchestration Service (OOS), y solo se pasa el nombre de la contraseña mediante WindowsPasswordName. Para obtener más información, consulte Encrypt parameters y Configure a regular user to run Cloud Assistant commands.

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 docker://, containerd:// o cri-o:// para especificar tiempos de ejecución de contenedores.

Tenga en cuenta los siguientes puntos:

  • Si especifica este parámetro, Cloud Assistant ejecutará scripts en el contenedor especificado de la instancia.
  • Si especifica este parámetro, asegúrese de que la versión de Cloud Assistant Agent instalada en instancias Linux sea 2.2.3.344 o posterior.
  • Si especifica este parámetro, Username (definido en la solicitud de esta operación) y WorkingDir (definido en la solicitud de la operación CreateCommand) no surtirán efecto. Solo podrá ejecutar el comando en el directorio de trabajo predeterminado del contenedor y con el usuario predeterminado del mismo. Para obtener más información, consulte Use Cloud Assistant to run commands in containers.
  • Si especifica este parámetro, solo se podrán ejecutar shell scripts en contenedores Linux. No puede agregar un comando con formato similar a #!/usr/bin/python al inicio de un script para especificar un intérprete. Para obtener más información, consulte Use Cloud Assistant to run commands in containers.
ContainerName String No test-container

El nombre del contenedor.

Tenga en cuenta los siguientes puntos:

  • Si especifica este parámetro, Cloud Assistant ejecutará scripts en el contenedor especificado de la instancia.
  • Si especifica este parámetro, asegúrese de que la versión de Cloud Assistant Agent instalada en instancias Linux sea 2.2.3.344 o posterior.
  • Si especifica este parámetro, Username (definido en la solicitud de esta operación) y WorkingDir (definido en la solicitud de la operación CreateCommand) no surtirán efecto. Solo podrá ejecutar el comando en el directorio de trabajo predeterminado del contenedor y con el usuario predeterminado del mismo. Para obtener más información, consulte Use Cloud Assistant to run commands in containers.
  • Si especifica este parámetro, solo se podrán ejecutar shell scripts en contenedores Linux. No puede agregar un comando con formato similar a #!/usr/bin/python al inicio de un script para especificar un intérprete. Para obtener más información, consulte Use Cloud Assistant to run commands in containers.
Timeout Long No 60

El tiempo de espera para la ejecución del comando. Unidad: segundos.

  • El tiempo de espera no puede ser inferior a 10 segundos.
  • Se produce un error de tiempo de espera si el comando no puede ejecutarse porque el proceso se ralentiza o porque falta un módulo específico o Cloud Assistant Agent. Cuando finaliza el tiempo de espera especificado, el proceso del comando se termina forzosamente.
  • Si no especifica este parámetro, se utilizará el tiempo de espera definido al crear el comando.
  • Este tiempo de espera aplica únicamente a esta ejecución. El tiempo de espera general del comando no se modifica.
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 acs: ni aliyun. Tampoco puede contener http:// o https://.

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 http:// o https://.

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.