Cria um comando do Cloud Assistant.
Observações de uso
- Você pode criar comandos dos seguintes tipos:
- Comandos em lote (RunBatScript), aplicáveis a instâncias Windows
- Comandos PowerShell (RunPowerShellScript), aplicáveis a instâncias Windows
- Comandos Shell (RunShellScript), aplicáveis a instâncias Linux
- Use o parâmetro Timeout para definir o tempo máximo de timeout para execuções de um comando em instâncias do Elastic Compute Service (ECS). Quando uma execução atinge o tempo limite, o Cloud Assistant Agent encerra o processo do comando de forma forçada ao cancelar o ID do processo (PID) do comando.
- Para uma tarefa única, quando a execução atinge o tempo limite, o estado do comando (InvokeRecordStatus) muda para Failed.
- Para uma tarefa agendada, observe os seguintes itens:
- O período de timeout se aplica a cada execução.
- Quando uma execução atinge o tempo limite, o estado (InvokeRecordStatus) do comando muda para Failed.
- O timeout de uma execução não afeta as execuções subsequentes.
- É possível manter de 500 a 10.000 comandos do Cloud Assistant em cada região. Consulte o tópico Visualizar e aumentar cotas de recursos ou chame a operação DescribeAccountAttribute para consultar as cotas de recursos.
- Use WorkingDir para especificar o diretório de execução de um comando do Cloud Assistant. Para instâncias Linux, o diretório padrão de execução é o diretório home do usuário root, que é
/root. Para instâncias Windows, o diretório padrão de execução é o diretório onde reside o processo do Cloud Assistant Agent, comoC:\Windows\System32. - Ative o recurso de parâmetros personalizados em um comando do Cloud Assistant definindo EnableParameter como true. Ao definir CommandContent, use o formato {{parameter}} para definir parâmetros personalizados. Depois, quando a operação InvokeCommand for chamada, os pares chave-valor dos parâmetros personalizados serão transmitidos. Por exemplo, se um comando for
echo {{name}}, o parâmetro Parameters pode ser usado para transmitir o par chave-valor<name, Jack>durante a chamada da operação InvokeCommand. A chave name do parâmetro personalizado é substituída automaticamente pelo valor correspondente Jack, gerando um novo comando. Como resultado, o comandoecho Jacké realmente executado.
Depuração
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
| Action | String | Yes | CreateCommand | A operação que você deseja executar. Defina o valor como CreateCommand. |
| RegionId | String | Yes | cn-hangzhou | O ID da região onde o comando será criado. Chame a operação DescribeRegions para consultar a lista mais recente de regiões. |
| Name | String | Yes | testName | O nome do comando. O nome aceita todos os conjuntos de caracteres e pode ter até 128 caracteres. |
| Description | String | No | testDescription | A descrição do comando. A descrição aceita todos os conjuntos de caracteres e pode ter até 512 caracteres. |
| Type | String | Yes | RunShellScript | O tipo do comando. Valores válidos:
|
| CommandContent | String | Yes | ZWNobyAxMjM= | O conteúdo do comando codificado em Base64. Observe os seguintes itens:
|
| WorkingDir | String | No | /home/user | O caminho de execução do comando nas instâncias ECS. O valor pode ter até 200 caracteres. Valores padrão:
Nota Se você definir WorkingDir com um valor diferente dos padrões, certifique-se de que o diretório exista na instância. |
| Timeout | Long | No | 60 | O tempo máximo de timeout para a execução do comando na instância. Unidade: segundos. Quando um comando criado não pode ser executado, ele atinge o tempo limite. Quando a execução de um comando atinge o tempo limite, o Cloud Assistant Agent encerra o processo do comando de forma forçada ao cancelar o PID. Valor padrão: 60. |
| EnableParameter | Boolean | No | false | Especifica se parâmetros personalizados devem ser usados no comando. Valor padrão: false. |
| ContentEncoding | String | No | PlainText | O modo de codificação do conteúdo do comando (CommandContent). Valores válidos:
Valor padrão: Base64. Nota Se o valor especificado para este parâmetro for inválido, Base64 será usado por padrão. |
| ResourceGroupId | String | No | rg-123****** | O ID do grupo de recursos ao qual o comando será atribuído. |
| Tag.N.Key | String | No | TestKey | A chave da tag N a ser adicionada ao comando. Valores válidos de N: 1 a 20. A chave da tag não pode ser uma string vazia. Se uma única tag for especificada para consultar recursos, até 1.000 recursos com essa tag poderão ser exibidos na resposta. Se várias tags forem especificadas, até 1.000 recursos com todas essas tags poderão ser exibidos. Para consultar mais de 1.000 recursos com tags específicas, chame ListTagResources. A chave da tag pode ter até 64 caracteres e não pode começar com |
| Tag.N.Value | String | No | TestValue | O valor da tag N a ser adicionada ao comando. Valores válidos de N: 1 a 20. O valor da tag pode ser uma string vazia. Pode ter até 128 caracteres e não pode conter |
Parâmetros da resposta
Parâmetro |
Tipo |
Exemplo |
Descrição |
| CommandId | String | c-7d2a745b412b4601b2d47f6a768d**** | O ID do comando. |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | O ID da solicitação. |
Exemplos
Solicitações de exemplo
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>
Respostas de sucesso de exemplo
XML formato
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateCommandResponse>
<CommandId>c-7d2a745b412b4601b2d47f6a768d****</CommandId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateCommandResponse>
JSON formato
HTTP/1.1 200 OK
Content-Type:application/json
{
"CommandId" : "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | Esta operação não pode ser executada na região especificada. Verifique se o valor do parâmetro RegionId é válido. |
| 400 | CmdParam.EmptyKey | You must specify the parameter names. | Alguns parâmetros obrigatórios não foram especificados. |
| 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 (_). | Nome de parâmetro personalizado inválido. Cada nome de parâmetro personalizado pode conter apenas letras, dígitos, sublinhados (_) e hifens (-). |
| 400 | CmdContent.DecodeError | The CommandContent can not be base64 decoded. | O conteúdo do comando não pode ser decodificado em Base64. |
| 400 | InvalidParameter.WorkingDir | The specified parameter WorkingDir is not valid. | Valor de WorkingDir inválido. |
| 403 | CmdContent.ExceedLimit | The length of the command content exceeds the upper limit. | O comprimento máximo do conteúdo do comando foi excedido. |
| 403 | CmdName.ExceedLimit | The length of the command name exceeds the upper limit. | O comprimento máximo do nome do comando foi excedido. |
| 403 | CmdDesc.ExceedLimit | The length of the command description exceeds the upper limit. | O comprimento máximo da descrição do comando foi excedido. |
| 403 | CmdCount.ExceedQuota | The total number of commands in the current region exceeds the quota. | O número máximo de comandos do Cloud Assistant na região atual foi excedido. |
| 403 | CmdParamCount.ExceedLimit | The maximum number of custom parameters is exceeded. | O número máximo de parâmetros personalizados foi excedido. |
| 403 | CmdParamName.ExceedLimit | The maximum length of a parameter name is exceeded. | O comprimento máximo de um nome de parâmetro personalizado foi excedido. |
| 403 | Operation.Forbidden | The operation is not permitted. | A operação não é suportada. |
| 403 | InvalidStatus.ResourceGroup | You cannot perform an operation on a resource group that is being created or deleted. | Não é possível executar esta operação em um grupo de recursos que está sendo criado ou excluído. |
| 404 | InvalidCmdType.NotFound | The specified command type does not exist. | O tipo de comando especificado não foi encontrado. |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | O grupo de recursos não foi encontrado. |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | Ocorreu um erro durante o envio da solicitação. Tente novamente mais tarde. |
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.