

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar e gerenciar comandos
<a name="create-manage-remote-command-cli"></a>

**Importante**  
O acesso a determinados FleetWise recursos de AWS IoT está atualmente bloqueado. Para obter mais informações, consulte [AWS Disponibilidade de regiões e recursos na AWS IoT FleetWise](fleetwise-regions.md).

Você pode configurar ações remotas reutilizáveis ou enviar instruções únicas e imediatas para seus dispositivos. Ao usar esse recurso, você pode especificar as instruções que seus dispositivos podem executar quase em tempo real. Um comando permite que você configure ações remotas reutilizáveis para o veículo de destino. Depois de criar um comando, você pode iniciar a execução de um comando direcionado a um veículo específico.

Este tópico mostra como você pode criar e gerenciar um recurso de comando usando a AWS IoT Core API ou AWS CLI o. Ele mostra como realizar as seguintes ações em um recurso de comando.

**Topics**
+ [Criar um recurso de comando](#create-remote-command-cli)
+ [Recuperar informações sobre um comando](#get-remote-command-cli)
+ [Listar comandos na sua conta](#list-remote-command-cli)
+ [Atualizar ou descontinuar um recurso de comando](#update-remote-command-cli)
+ [Excluir um recurso de comando](#delete-remote-command-cli)

## Criar um recurso de comando
<a name="create-remote-command-cli"></a>

Você pode usar a operação da API do plano de [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html) AWS IoT Core controle ou o FleetWise console de AWS IoT para criar um comando.

### Crie um comando (console)
<a name="create-command-console"></a>

Você pode usar o FleetWise console de AWS IoT para criar um comando.

**Para criar um comando**

1. Abra o console [AWS de IoT. FleetWise ](https://console.aws.amazon.com/iotfleetwise)

1. No painel de navegação, escolha **Comandos**.

1. Escolha **Criar comando**.

1. Especifique um ID de comando exclusivo para ajudá-lo a identificar o comando que você deseja executar no veículo.

1. (Opcional) Especifique um nome de exibição e uma descrição opcionais.

1. (Opcional) Selecione o atuador e o valor padrão do parâmetro. Os parâmetros especificam as ações que o veículo-alvo pode realizar ao receber o comando. Se você não adicionar parâmetros, precisará fornecê-los ao executar o comando.

1. Escolha uma função do IAM que conceda permissões para gerar a carga útil dos comandos. Consulte [Controle de acesso](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html#generate-command-payload).

1. Escolha **Criar comando**.

### Crie um comando (AWS CLI)
<a name="create-remote-command-example"></a>

O exemplo a seguir mostra como criar um comando com um parâmetro.

#### Considerações ao criar um comando
<a name="create-remote-command-considerations"></a>

Quando você cria um comando em AWS IoT FleetWise:
+ Você deve especificar o `roleArn` que concede permissão para criar e executar comandos em seu veículo. Para obter mais informações e sobre exemplos de políticas, incluindo quando as chaves KMS estão habilitadas, consulte[Conceda AWS IoT Device Management permissão para gerar a carga útil para comandos com AWS IoT FleetWise](controlling-access.md#generate-command-payload).
+ Você deve especificar `AWS-IoT-FleetWise` como namespace.
+ Em vez disso, você pode pular o `mandatory-parameters` campo e especificá-los em tempo de execução. Como alternativa, você pode criar um comando com parâmetros e, opcionalmente, especificar valores padrão para eles. Se você especificou valores padrão, em tempo de execução, poderá usar esses valores ou substituí-los especificando seus próprios valores. Para ver esses exemplos adicionais, consulte[Cenários de uso de comandos](remote-command-use-cases.md).
+ Você pode especificar até três pares de nome-valor para o `mandatory-parameters` campo. No entanto, ao executar o comando no veículo, somente um par nome-valor é aceito, e o `name` campo deve usar o nome totalmente qualificado com o prefixo. `$actuatorPath.`
+ *command-id*Substitua por um identificador exclusivo para o comando. Você pode usar UUID, caracteres alfanuméricos, “-” e “\$1”.
+ *role-arn*Substitua pela função do IAM que concede permissão para criar e executar comandos, por exemplo,`"arn:aws:iam:accountId:role/FwCommandExecutionRole"`.
+ (Opcional) *display-name* Substitua por um nome fácil de usar para o comando e *description* por uma descrição significativa do comando.
+ Substitua *name* e *value* do `mandatory-parameters` objeto pelas informações necessárias para o comando que está sendo criado. O `name` campo é o nome totalmente qualificado, conforme definido no catálogo de sinais com `$actuatorPath.` o prefixo. Por exemplo, `name` pode ser *\$1actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode* e `value` pode ser um booleano que indica um status do modo de direção, como*\$1"B": false\$1*.

```
aws iot create-command --command-id command-id \ 
    --role-arn role-arn \
    --description description \
    --display-name display-name \     
    --namespace "AWS-IoT-FleetWise" \
    --mandatory-parameters '[
        {
            "name": name, 
            "value": value
        }
   ]'
```

A operação da `CreateCommand` API retorna uma resposta que contém o ID e o ARN (Amazon Resource Name) do comando.

```
{
    "commandId": "HandsOffSteeringMode",
    "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"
}
```

## Recuperar informações sobre um comando
<a name="get-remote-command-cli"></a>

Você pode usar a operação da API do plano de [https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html) AWS IoT Core controle para recuperar informações sobre um recurso de comando.

Para obter informações sobre um recurso de comando, execute o comando a seguir. *command-id*Substitua pelo identificador que foi usado ao criar o comando.

```
aws iot get-command --command-id command-id
```

A operação `GetCommand` da API retorna uma resposta que contém as informações a seguir.
+ O ID e o ARN (Amazon Resource Name) do comando.
+ A data e a hora em que o comando foi criado e atualizado pela última vez.
+ O estado do comando que indica se ele está disponível para ser executado no veículo.
+ Qualquer parâmetro que você especificou ao criar o comando.

```
{
    "commandId": "HandsOffSteeringMode",
    "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"",
    "namespace": "AWS-IoT-FleetWise",
    "mandatoryParameters":[
        {
            "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode",
            "value": {"B": false }
        }
    ],
    "createdAt": "2024-03-23T11:24:14.919000-07:00",
    "lastUpdatedAt": "2024-03-23T11:24:14.919000-07:00",
    "deprecated": false,
    "pendingDeletion": false
}
```

## Listar comandos na sua conta
<a name="list-remote-command-cli"></a>

Você pode usar a operação da API do plano de [https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html) AWS IoT Core controle para listar todos os comandos que você criou na sua conta.

Para listar comandos em sua conta, execute o comando a seguir. Por padrão, a API retorna comandos que foram criados para os dois namespaces. Para filtrar a lista para exibir somente os comandos que foram criados para AWS IoT FleetWise, execute o comando a seguir.

**nota**  
Você também pode classificar a lista em ordem crescente ou decrescente, ou filtrar a lista para exibir somente comandos que tenham um nome de parâmetro de comando específico.

```
aws iot list-commands --namespace "AWS-IoT-FleetWise"
```

A operação `ListCommands` da API retorna uma resposta que contém as informações a seguir.
+ O ID e o ARN (Amazon Resource Name) dos comandos.
+ A data e a hora em que o comando foi criado e atualizado pela última vez.
+ O estado do comando que indica se os comandos estão disponíveis para execução no veículo.

## Atualizar ou descontinuar um recurso de comando
<a name="update-remote-command-cli"></a>

Você pode usar a operação da API do plano de [https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html) AWS IoT Core controle ou o FleetWise console de AWS IoT para atualizar um recurso de comando. Você pode atualizar o nome de exibição e a descrição de um comando. Você também pode descontinuar um comando se ele não estiver sendo usado no momento.

**nota**  
Você não pode modificar as informações do namespace ou os parâmetros a serem usados ao executar o comando.

### Atualizar um comando (console)
<a name="update-command-console"></a>

**Atualizar um comando**  
Para atualizar um comando do console, acesse a página [Comandos](https://console.aws.amazon.com/iotfleetwise/home#/commands) do FleetWise console de AWS IoT e execute as etapas a seguir.

1. Escolha o comando que você deseja atualizar e, em seguida, escolha **Editar**.

1. Edite os detalhes do comando e escolha **Salvar alterações**.

**Descontinuar um comando**  
Para descontinuar um comando do console, acesse a página [Comandos](https://console.aws.amazon.com/iotfleetwise/home#/commands) do FleetWise console de AWS IoT e execute as etapas a seguir.

1. **Escolha o comando que você deseja descontinuar e, em seguida, escolha Descontinuar.**

1. **Confirme a suspensão de uso e, em seguida, escolha Descontinuar.**

### Atualizar um comando (AWS CLI)
<a name="update-command-cli"></a>

**Atualizar um comando**  
Para atualizar um recurso de comando, execute o comando a seguir. *command-id*Substitua pelo identificador do comando que você deseja atualizar e forneça o *description* e. *display-name*

```
aws iot update-command \ 
    --command-id command-id \ 
    --display-name display-name \ 
    --description description
```

A operação `UpdateCommand` da API retorna a seguinte resposta.

```
{
    "commandId": "HandsOffSteeringMode",
    "deprecated": false,
    "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00"
}
```

**Descontinuar um comando**  
Você desaprova um comando quando não pretende mais continuar a usá-lo em seu dispositivo ou quando ele está desatualizado. O exemplo a seguir mostra como descontinuar um comando.

```
aws iot update-command \ 
    --command-id command-id \ 
    --deprecated
```

A operação da `UpdateCommand` API retorna uma resposta que contém o ID e o ARN (Amazon Resource Name) do comando.

```
{
    "commandId": "HandsOffSteeringMode",
    "deprecated": true,
    "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00"
}
```

Depois que um comando for descontinuado, as execuções de comandos existentes continuarão sendo executadas no veículo até se tornarem terminais. Para executar qualquer nova execução de comando, você deve usar a `UpdateCommand` API para restaurar o comando para que ele fique disponível. *Para obter informações adicionais sobre a descontinuação e a restauração de um comando e considerações sobre ele, consulte [Descontinuar um recurso de comando no Guia do desenvolvedor](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-deprecate).AWS IoT Core *

## Excluir um recurso de comando
<a name="delete-remote-command-cli"></a>

Você pode usar a operação da API do plano de [https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteCommand.html) AWS IoT Core controle ou o FleetWise console de AWS IoT para excluir um recurso de comando.

**nota**  
Uma ação de exclusão é permanente e não pode ser desfeita. O comando será removido permanentemente da sua conta.

### Excluir um comando (console)
<a name="delete-command-console"></a>

Para excluir um comando do console, acesse a página [Comandos](https://console.aws.amazon.com/iotfleetwise/home#/commands) do FleetWise console de AWS IoT e execute as etapas a seguir.

1. Escolha o comando que você deseja excluir e, em seguida, escolha **Excluir**.

1. Confirme que você deseja excluir o comando e escolha **Excluir**.

### Excluir um comando (AWS CLI)
<a name="delete-command-cli"></a>

Para excluir um recurso de comando, execute o comando a seguir. *command-id*Substitua pelo identificador do comando que você deseja excluir. O exemplo a seguir mostra como excluir um recurso de comando.

```
aws iot delete-command --command-id command-id
```

Se a solicitação de exclusão for bem-sucedida:
+ Se o comando estiver obsoleto por um período maior que o tempo limite máximo de 24 horas, o comando será excluído imediatamente e você verá um HTTP de 204. `statusCode`
+ Se o comando não estiver obsoleto ou tiver sido preterido por um período menor que o tempo limite máximo, o comando estará em um `pending deletion` estado e você verá um HTTP de 202. `statusCode` O comando será removido automaticamente da sua conta após o tempo limite máximo de 24 horas.