Aciona um comando do Cloud Assistant em instâncias do Elastic Compute Service (ECS).
Notas de uso
- As instâncias do ECS nas quais você deseja executar o comando do Cloud Assistant devem atender aos seguintes requisitos. Se várias instâncias do ECS forem especificadas e uma delas não atender aos requisitos para a execução do comando, a chamada falhará. Você deve especificar instâncias que atendam aos requisitos e chamar a operação InvokeCommand novamente.
- As instâncias devem estar no estado Em execução (
Running). Você pode chamar a operação DescribeInstances para consultar os estados das instâncias. - O Cloud Assistant Agent deve estar instalado nas instâncias. Para obter mais informações, consulte Instalar o Cloud Assistant Agent.
- Antes de executar comandos do PowerShell nas instâncias, verifique se as instâncias possuem o módulo PowerShell configurado.
- As instâncias devem estar no estado Em execução (
- O comando pode ser executado apenas uma vez nas instâncias.
- O comando pode ser executado várias vezes nas instâncias com base em um agendamento.
- O agendamento é especificado pelo parâmetro Frequency. Os resultados de cada execução de um comando não afetam a próxima execução do comando.
-
Se você deseja especificar um agendamento usando uma expressão cron, pode especificar um fuso horário com base nos requisitos do seu negócio. Se você não especificar um fuso horário, o agendamento será determinado pelo horário do sistema da instância. Verifique se o horário ou o fuso horário da instância atende aos requisitos do seu negócio. Para obter mais informações sobre fusos horários, consulte Configurar o serviço NTP para instâncias do ECS que executam CentOS 6 ou Configurar o serviço NTP para instâncias Windows.
Para garantir que as tarefas agendadas possam ser executadas conforme esperado, verifique se a versão do Cloud Assistant Agent não é anterior às seguintes. Você pode configurar um comando para ser executado em um intervalo fixo com base em uma expressão de taxa, executado apenas uma vez em um horário especificado ou executado em horários designados com base em uma expressão cron. Se o código de erro ClientNeedUpgrade for retornado, você deverá atualizar o Cloud Assistant Agent para a versão mais recente. Para obter mais informações, consulte Atualizar ou desabilitar atualizações do Cloud Assistant Agent.
- Linux: 2.2.3.282
- Windows: 2.1.3.282
- Os comandos podem falhar na execução devido a exceções de status da instância, exceções de rede ou exceções no Cloud Assistant Agent. Se um comando falhar na execução, nenhuma informação de execução será gerada. Para obter mais informações, consulte Verificar resultados da execução e solucionar problemas comuns.
- Se você habilitar o recurso de parâmetro personalizado ao criar o comando, deverá especificar parâmetros personalizados (
Parameters) para executar o comando. - Antes de executar um comando em instâncias, especialmente em instâncias novas, recomendamos que você chame a operação DescribeCloudAssistantStatus para consultar o estado do Cloud Assistant Agent instalado nas instâncias e verificar se o valor de retorno de CloudAssistantStatus é true.
Depuração
Parâmetros de solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | InvokeCommand | A operação que você deseja realizar. Defina o valor como InvokeCommand. |
| RegionId | String | Sim | cn-hangzhou | O ID da região do comando. Você pode chamar a operação DescribeRegions para consultar a lista de regiões mais recente. |
| ResourceGroupId | String | Não | rg-bp67acfmxazb4p**** | O ID do grupo de recursos ao qual atribuir as execuções do comando. Ao definir este parâmetro, observe os seguintes itens:
|
| CommandId | String | Sim | c-e996287206324975b5fbe1d**** | O ID do comando. Você pode chamar a operação DescribeCommands para consultar todos os IDs de comandos disponíveis. null Os comandos comuns do Cloud Assistant podem ser executados com base em seus nomes. Para obter mais informações, consulte Visualizar e executar comandos comuns do Cloud Assistant. |
| RepeatMode | String | Não | Once | Especifica como executar o comando. Valores válidos:
Valor padrão:
Observe os seguintes itens:
|
| Timed | Boolean | Não | true | null Este parâmetro não tem efeito e não é mais utilizado. |
| Frequency | String | Não | 0 */20 * * * ? | O agendamento para executar o comando. Você pode configurar um comando para ser executado em um intervalo fixo com base em uma expressão de taxa, executado apenas uma vez em um horário especificado ou executado em horários designados com base em uma expressão cron.
|
| Parameters | Map | Não | {"name":"Jack", "accessKey":"LTAIdyv******aRY"} | Os pares de chave-valor dos parâmetros personalizados a serem passados quando o recurso de parâmetro personalizado está habilitado. Número de parâmetros personalizados: 0 a 10.
Se você deseja desabilitar o recurso de parâmetro personalizado, pode deixar este parâmetro vazio. |
| Username | String | Não | test | O nome de usuário a ser usado para executar o comando nas instâncias. O nome de usuário pode ter até 255 caracteres.
Você também pode especificar outros nomes de usuário que já existam nas instâncias para executar o comando. Por questões de segurança, recomendamos que você execute comandos do Cloud Assistant como um usuário regular. Para obter mais informações, consulte Configurar um usuário regular para executar comandos do Cloud Assistant. |
| WindowsPasswordName | String | Não | axtSecretPassword | O nome da senha a ser usada para executar o comando em instâncias Windows. O nome pode ter até 255 caracteres. Se você não deseja usar o usuário padrão System para executar o comando em instâncias Windows, especifique tanto WindowsPasswordName quanto null Se você usar o nome de usuário root para instâncias Linux ou o nome de usuário System para instâncias Windows para executar o comando, não será necessário especificar WindowsPasswordName. |
| InstanceId.N | String | Não | i-bp185dy2o3o6n**** | O ID da instância N na qual executar o comando. Você pode especificar até 50 IDs de instância em cada solicitação. Valores válidos de N: 1 a 50. |
| ContainerId | String | Não | ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** | O ID do contêiner. Somente strings hexadecimais de 64 bits são suportadas. Você pode usar IDs de contêiner prefixados com Observe os seguintes itens:
|
| ContainerName | String | Não | test-container | O nome do contêiner. Observe os seguintes itens:
|
| Timeout | Long | Não | 60 | O período de tempo limite para a execução do comando. Unidade: segundos.
|
| Tag.N.Key | String | Não | TestKey | A chave da tag N a ser adicionada à tarefa de 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 para consultar recursos, até 1.000 recursos com todas essas tags poderão ser exibidos na resposta. Para consultar mais de 1.000 recursos com tags especificadas, chame a operação ListTagResources. A chave da tag pode ter até 64 caracteres e não pode começar com |
| Tag.N.Value | String | Não | TestValue | O valor da tag N a ser adicionada à tarefa de comando. Valores válidos de N: 1 a 20. O valor da tag pode ser uma string vazia. O valor da tag pode ter até 128 caracteres e não pode conter |
| ClientToken | String | Não | 123e4567-e89b-12d3-a456-42665544**** | O token do cliente usado para garantir a idempotência da solicitação. Você pode usar o cliente para gerar o token, mas deve garantir que o token seja único entre diferentes solicitações. O token pode conter apenas caracteres ASCII e não pode exceder 64 caracteres. Para obter mais informações, consulte Como garantir a idempotência. |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| InvokeId | String | t-7d2a745b412b4601b2d47f6a768d**** | O ID da tarefa de comando. |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | O ID da solicitação. |
Exemplos
Exemplos de solicitações
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>
Exemplos de respostas bem-sucedidas
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 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 realizada na região especificada. Verifique se o parâmetro RegionId é válido. |
| 400 | MissingParam.InstanceId | The parameter instanceId is missing or empty. | InstanceId.N é obrigatório. |
| 400 | InvalidContainerId.Malformed | The specified parameter ContainerId is not valid. | Valor de ContainerId inválido. |
| 400 | InvalidContainerName.Malformed | The specified parameter ContainerName is not valid. | Valor de ContainerName inválido. |
| 400 | InvalidClientToken.Malformed | The specified parameter clientToken is not valid. | Valor de ClientToken inválido. |
| 400 | InvalidInstance.NotMatch | The specified instance type does not match the command. | O comando especificado não pode ser executado na instância especificada. Verifique se o estado da instância atende às condições para executar o comando do Cloud Assistant. |
| 400 | MissingParam.Frequency | The frequency must be specified when you create a timed task. | O parâmetro Frequency é obrigatório ao criar uma tarefa de comando agendada. |
| 400 | InvalidParam.Frequency | The specified frequency is invalid. | Valor de Frequency inválido. Verifique se o valor de Frequency especificado é válido. |
| 400 | Parameter.MissingValue | The parameter value of this command is required. | O parâmetro é obrigatório. |
| 400 | Parameter.Disabled | Parameters cannot be passed in when the command customization function is disabled. | O parâmetro Parameters foi especificado quando o recurso de parâmetro personalizado está desabilitado. |
| 400 | InvalidParameter.Parameters | The specified parameter Parameters is not valid. | Valor de Parameters inválido. |
| 403 | InstanceIds.ExceedLimit | The number of instance IDs exceeds the upper limit. | O número máximo de IDs de instância foi excedido. |
| 403 | Invocation.ExceedQuota | The invocation quota in the current region has been reached for today. | O número máximo diário de execuções de comando na região atual foi excedido. |
| 403 | ParameterCount.ExceedLimit | The maximum number of parameters is exceeded. | O número máximo de parâmetros personalizados especificados foi excedido. |
| 403 | ParameterKey.ExceedLimit | The maximum length of a parameter name is exceeded. | A chave de um parâmetro personalizado excede 64 caracteres. |
| 403 | CmdContent.ExceedLimit | The maximum length of a command is exceeded. | O comprimento máximo do comando foi excedido. Reduza o tamanho do seu comando. |
| 403 | ParameterKey.Duplicate | Parameter names cannot be duplicated. | Um parâmetro com o mesmo nome já existe. Os nomes dos parâmetros devem ser únicos. |
| 403 | Parameter.NotMatched | The passed-in parameters do not match the parameters defined when you created the command. | Os parâmetros personalizados passados não correspondem aos especificados quando o comando foi criado. |
| 403 | ParameterType.NotSupported | The type of parameter value is not supported. | Tipo de parâmetro personalizado inválido. |
| 403 | Username.ExceedLimit | The length of the username exceeds the upper limit. | O comprimento máximo do nome de usuário foi excedido. |
| 403 | WindowsPasswordName.ExceedLimit | The length of the WindowsPasswordName exceeds the upper limit. | O comprimento máximo de WindowsPasswordName foi excedido. |
| 403 | WindowsPasswordName.Missed | WindowsPasswordName must be specified when you create a Windows task. | WindowsPasswordName é obrigatório. |
| 403 | ParameterStore.InvalidParameters | The parameter is invalid in Parameter Store. | O parâmetro personalizado no formato {{oos:?}} não foi encontrado. |
| 403 | Operation.Forbidden | The operation is not permitted. | A operação não é suportada. |
| 403 | IdempotentParameterMismatch | The specified parameter has changed while using an already used clientToken. | O token do cliente já está em uso. |
| 403 | IdempotentProcessing | The previous idempotent request(s) is still processing. | Uma solicitação idempotente anterior está sendo processada. Tente novamente mais tarde. |
| 404 | InvalidRepeatMode.NotFound | The specified repeat mode does not exist. | Valor de RepeatMode inválido. |
| 404 | InvalidInstance.NotFound | The specified instance does not exist. | A instância especificada não foi encontrada. |
| 404 | InvalidCmdId.NotFound | The specified command ID does not exist. | Valor de CommandId inválido. Você pode chamar a operação DescribeCommands para consultar todos os IDs de comandos disponíveis. |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | O ID do grupo de recursos não foi encontrado. |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | Ocorreu um erro ao enviar a solicitação. Tente novamente mais tarde. |
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.