Cree un comando de Cloud Assistant.
Notas de uso
-
Puede crear comandos de los siguientes tipos:
Comandos por lotes (RunBatScript), aplicables a instancias Windows
Comandos de PowerShell (RunPowerShellScript), aplicables a instancias Windows
Comandos de shell (RunShellScript), aplicables a instancias Linux
-
Especifique el parámetro Timeout para establecer el tiempo máximo de espera en las ejecuciones de un comando en instancias de Elastic Compute Service (ECS). Si una ejecución supera este límite, Cloud Assistant Agent finaliza forzosamente el proceso del comando al cancelar su identificador de proceso (PID).
En una tarea única, cuando la ejecución supera el tiempo de espera, el estado del comando (InvokeRecordStatus) cambia a Failed.
-
Para una tarea programada, tenga en cuenta lo siguiente:
El periodo de tiempo de espera aplica a cada ejecución individual.
Cuando una ejecución supera el tiempo de espera, el estado (InvokeRecordStatus) del comando cambia a Failed.
El agotamiento del tiempo en una ejecución no afecta a las ejecuciones posteriores.
Es posible conservar entre 500 y 10,000 comandos de Cloud Assistant en cada región. Para consultar las cuotas de recursos, siga las instrucciones del tema View and increase resource quotas o invoque la operación DescribeAccountAttribute.
Utilice WorkingDir para especificar el directorio de ejecución de un comando de Cloud Assistant. En instancias Linux, el directorio predeterminado es el directorio principal del usuario root, es decir, /root. En instancias Windows, el directorio predeterminado corresponde a la ubicación del proceso de Cloud Assistant Agent, por ejemplo, C:\Windows\System32.
Habilite la función de parámetros personalizados en un comando de Cloud Assistant al establecer EnableParameter como true. Al definir CommandContent, puede incluir parámetros personalizados con el formato {{parameter}}. Posteriormente, cuando se invoca la operación InvokeCommand, se transmiten los pares clave-valor correspondientes. Por ejemplo, si un comando es echo {{name}}, puede usar el parámetro Parameters para pasar el par clave-valor
durante la llamada a InvokeCommand. El sistema reemplaza automáticamente la clave name por el valor asociado Jack y genera un nuevo comando; en consecuencia, se ejecuta realmente el comando echo Jack.
Depuración
Parámetros de solicitud
|
Parámetro |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
| Action | String | Sí | CreateCommand | La operación que desea ejecutar. Establezca el valor como CreateCommand. |
| RegionId | String | Sí | cn-hangzhou | El ID de la región donde se creará el comando. Puede invocar la operación DescribeRegions para obtener la lista más reciente de regiones. |
| Name | String | Sí | testName | El nombre del comando. Admite cualquier conjunto de caracteres y tiene una longitud máxima de 128 caracteres. |
| Description | String | No | testDescription | La descripción del comando. Admite cualquier conjunto de caracteres y tiene una longitud máxima de 512 caracteres. |
| Type | String | Sí | RunShellScript | El tipo de comando. Valores válidos:
|
| CommandContent | String | Sí | ZWNobyAxMjM= | El contenido del comando codificado en Base64. Tenga en cuenta lo siguiente:
|
| WorkingDir | String | No | /home/user | La ruta de ejecución del comando en las instancias ECS. El valor puede tener hasta 200 caracteres de longitud. Valores predeterminados:
Nota Si establece WorkingDir con un valor distinto a los predeterminados, asegúrese de que el directorio exista en la instancia. |
| Timeout | Long | No | 60 | El tiempo máximo de espera para la ejecución del comando en la instancia. Unidad: segundos. Cuando un comando creado no se puede ejecutar, se considera que ha superado el tiempo de espera. En ese caso, Cloud Assistant Agent finaliza forzosamente el proceso del comando al cancelar su PID. Valor predeterminado: 60. |
| EnableParameter | Boolean | No | false | Indica si se utilizan parámetros personalizados en el comando. Valor predeterminado: false. |
| ContentEncoding | String | No | PlainText | El modo de codificación del contenido del comando (CommandContent). Valores válidos:
Valor predeterminado: Base64. Nota Si el valor especificado para este parámetro no es válido, se utiliza Base64 de forma predeterminada. |
| ResourceGroupId | String | No | rg-123****** | El ID del resource group al que se asignará el comando. |
| Tag.N.Key | String | No | TestKey | La clave de la etiqueta N que se agregará al 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 que tengan dicha etiqueta. Si se especifican varias etiquetas, la respuesta puede incluir hasta 1,000 recursos que contengan todas ellas. Para consultar más de 1,000 recursos con etiquetas específicas, invoque ListTagResources. La clave de la etiqueta puede tener hasta 64 caracteres de longitud y no puede comenzar con |
| Tag.N.Value | String | No | TestValue | El valor de la etiqueta N que se agregará al comando. Valores válidos de N: 1 a 20. El valor de la etiqueta puede ser una cadena vacía. Puede tener hasta 128 caracteres de longitud y no puede contener |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
CommandId |
String |
c-7d2a745b412b4601b2d47f6a768d**** |
El ID del comando. |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
El ID de la solicitud. |
Ejemplos
Solicitudes de ejemplo
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>
Respuestas exitosas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateCommandResponse>
<CommandId>c-7d2a745b412b4601b2d47f6a768d****</CommandId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateCommandResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"CommandId" : "c-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 valor del parámetro RegionId es válido. |
|
400 |
CmdParam.EmptyKey |
You must specify the parameter names. |
Faltan algunos parámetros obligatorios. |
|
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 (_). |
Nombre de parámetro personalizado no válido. Cada nombre solo puede contener letras, dígitos, guiones bajos (_) y guiones (-). |
|
400 |
CmdContent.DecodeError |
The CommandContent can not be base64 decoded. |
No se puede decodificar el contenido del comando en Base64. |
|
400 |
InvalidParameter.WorkingDir |
The specified parameter WorkingDir is not valid. |
Valor de WorkingDir no válido. |
|
403 |
CmdContent.ExceedLimit |
The length of the command content exceeds the upper limit. |
Se ha superado la longitud máxima permitida para el contenido del comando. |
|
403 |
CmdName.ExceedLimit |
The length of the command name exceeds the upper limit. |
Se ha superado la longitud máxima permitida para el nombre del comando. |
|
403 |
CmdDesc.ExceedLimit |
The length of the command description exceeds the upper limit. |
Se ha superado la longitud máxima permitida para la descripción del comando. |
|
403 |
CmdCount.ExceedQuota |
The total number of commands in the current region exceeds the quota. |
Se ha superado el número máximo de comandos de Cloud Assistant en la región actual. |
|
403 |
CmdParamCount.ExceedLimit |
The maximum number of custom parameters is exceeded. |
Se ha superado el número máximo de parámetros personalizados. |
|
403 |
CmdParamName.ExceedLimit |
The maximum length of a parameter name is exceeded. |
Se ha superado la longitud máxima permitida para el nombre de un parámetro personalizado. |
|
403 |
Operation.Forbidden |
The operation is not permitted. |
La operación no es compatible. |
|
403 |
InvalidStatus.ResourceGroup |
You cannot perform an operation on a resource group that is being created or deleted. |
No se puede realizar esta operación en un resource group que se encuentra en proceso de creación o eliminación. |
|
404 |
InvalidCmdType.NotFound |
The specified command type does not exist. |
No se encontró el tipo de comando especificado. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
No se encontró el resource group indicado. |
|
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 la lista de códigos de error, consulte Códigos de error del servicio.