

# Adicionar destinos ao AWS IoT Core for LoRaWAN
<a name="lorawan-create-destinations"></a>

Os destinos do AWS IoT Core para LoRaWAN descrevem a regra de AWS IoT que processa os dados de um dispositivo para uso por serviços da AWS.

Como a maioria dos dispositivos LoRaWAN não envia dados para o AWS IoT Core para LoRaWAN em um formato que possa ser usado por serviços da AWS, uma regra de AWS IoT deve processá-los primeiro. A regra de AWS IoT contém a instrução SQL que interpreta os dados do dispositivo e as ações da regra de tópico que enviam o resultado da instrução SQL aos serviços que a usarão.

Se você estiver adicionando o destino pela primeira vez, recomendamos usar o console. 

## Adicionar um destino usando o console
<a name="lorawan-create-destination-console"></a>

Se você estiver adicionando um dispositivo sem fio usando o console conforme descrito em [Adicione a especificação do dispositivo sem fio ao AWS IoT Core for LoRaWAN usando o console](lorawan-end-devices-add.md#lorawan-end-device-spec-console), depois de já ter adicionado a especificação do dispositivo sem fio e perfis ao AWS IoT Core for LoRaWAN conforme descrito antes, você poderá ir em frente e adicionar um destino.

Se quiser, você também pode adicionar um destino de AWS IoT Core for LoRaWAN a partir da página [Destinos](https://console.aws.amazon.com/iot/home#/wireless/destinations) do console de AWS IoT.

Para processar os dados de um dispositivo, especifique os campos a seguir ao criar um destino do AWS IoT Core para LoRaWAN e escolha **Adicionar destino**.
+ 

**Detalhes do destino**  
Insira um **Nome de destino** e uma descrição opcional para o destino.
+ 

**Nome da regra**  
A regra de AWS IoT configurada para avaliar as mensagens enviadas pelo seu dispositivo e processar os dados do dispositivo. O nome da regra será mapeado para o seu destino. O destino exige que a regra processe as mensagens recebidas. Você pode escolher que as mensagens sejam processadas invocando uma regra de AWS IoT ou publicando no agente de mensagens de AWS IoT.
  + Se você escolher **Inserir um nome de regra**, digite um nome e escolha **Copiar** para copiar o nome da regra que você inserirá ao criar a regra de AWS IoT. Você pode escolher **Criar regra** para criar a regra agora ou navegar até o Hub de [regras](https://console.aws.amazon.com/iot/home#/create/rule) do console de AWS IoT e criar uma regra com esse nome.

    Você também pode inserir uma regra e usar a configuração **Avançada** para especificar um nome de tópico. O nome do tópico é passado durante a invocação da regra e é acessado usando a expressão `topic` dentro da regra. Para obter mais informações sobre regras de AWS IoT, consulte [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html).
  + Se você escolher **Publicar no agente de mensagens de AWS IoT**, insira o nome de um tópico. Em seguida, você pode copiar o nome do tópico de MQTT e vários assinantes podem se inscrever nesse tópico para receber mensagens publicadas nele. Para ter mais informações, consulte [https://docs.aws.amazon.com/iot/latest/developerguide/topics.html](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html).

  Para obter mais informações sobre as regras de AWS IoT para destinos, consulte [Criar regras para processar mensagens de dispositivo LoRaWAN](lorawan-destination-rules.md).
+ 

**Nome do perfil**  
O perfil do IAM que concede permissões de dados do dispositivo para o acesso à regra, nomeada em **Nome da regra**. No console, é possível criar um novo perfil de serviço ou selecionar um já existente. Se você estiver criando um novo perfil de serviço, poderá inserir um nome de perfil (por exemplo, **IoTWirelessDestinationRole**) ou deixá-lo em branco para AWS IoT Core for LoRaWAN para gerar um novo nome de perfil. O AWS IoT Core for LoRaWAN, então, criará automaticamente o perfil do IAM com as devidas permissões em seu nome.

  Para obter mais informações sobre os perfis do IAM, consulte [Usar perfis do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html).

## Adicionar um destino usando a API
<a name="lorawan-create-destination-api"></a>

Se quiser adicionar um destino usando a CLI em vez disso, você já deverá ter criado a regra e o perfil do IAM para o destino. Para obter mais informações sobre os detalhes que um destino exige no perfil, consulte [Criar um perfil do IAM para os destinos](#lorawan-create-destinations-roles).

A lista a seguir contém as ações da API que realizam as tarefas associadas à adição, atualização ou exclusão de um destino.

**Ações de API AWS IoT Wireless para destinos**
+ [CreateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDestination.html)
+ [GetDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDestination.html)
+ [ListDestinations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDestinations.html)
+ [ UpdateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateDestination.html)
+ [DeleteDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteDestination.html)

Para ver a lista completa das ações e dos tipos de dados disponíveis para criar e gerenciar recursos do AWS IoT Core for LoRaWAN, consulte a [Referência da API AWS IoT Wireless](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html).

**Como usar a AWS CLI para adicionar um destino**  
Você pode usar a AWS CLI para adicionar um destino usando o comando [create-destination](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-destination.html). O exemplo a seguir mostra como criar um destino inserindo um nome de regra usando `RuleName` como o valor para o parâmetro `expression-type`. Se você quiser especificar um nome de tópico para publicar ou assinar o agente de mensagens, altere o valor do parâmetro `expression-type` para `MqttTopic`d.

```
aws iotwireless create-destination \
    --name IoTWirelessDestination \
    --expression-type RuleName \
    --expression IoTWirelessRule \
    --role-arn arn:aws:iam::123456789012:role/IoTWirelessDestinationRole
```

A execução desse comando cria um destino com o nome de destino, nome da regra e nome do perfil especificados. Para obter informações sobre os nomes de regras e de perfis para destinos, consulte [Criar regras para processar mensagens de dispositivo LoRaWAN](lorawan-destination-rules.md) e [Criar um perfil do IAM para os destinos](#lorawan-create-destinations-roles).

Para obter informações sobre as CLIs que você pode usar, consulte [Referência da AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html). 

## Criar um perfil do IAM para os destinos
<a name="lorawan-create-destinations-roles"></a>

Os destinos do AWS IoT Core for LoRaWAN exigem perfis do IAM que dão ao AWS IoT Core for LoRaWAN as permissões necessárias para enviar dados para a regra de AWS IoT. Se esse perfil ainda não estiver definido, você deverá defini-lo para que ele apareça na lista de perfis.

Quando você usa o console para adicionar um destino, o AWS IoT Core for LoRaWAN cria automaticamente um perfil do IAM para você, conforme descrito antes neste tópico. Ao adicionar um destino usando a API ou a CLI, você deve criar o perfil do IAM para o destino.

**Para criar uma política do IAM para o perfil de destino do AWS IoT Core for LoRaWAN**

1. Abra o [Hub de políticas do console do IAM](https://console.aws.amazon.com/iam/home#/policies).

1. Escolha **Criar política** e escolha a guia **JSON**.

1. No editor, exclua qualquer conteúdo do editor e cole este documento de política.

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:DescribeEndpoint",
                   "iot:Publish"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Escolha **Revisar política** e, em **Nome**, insira um nome para essa política. Você precisará desse nome para usar no próximo procedimento.

   Você também pode descrever essa política em **Descrição**, se quiser.

1. Escolha **Criar política**.

**Para criar um perfil do IAM para um destino do AWS IoT Core for LoRaWAN**

1. Abra o [Hub de perfis do console do IAM](https://console.aws.amazon.com/iam/home#/roles) e escolha **Criar perfil**.

1. Em **Selecionar tipo de entidade confiável**, escolha **Outra Conta da AWS**.

1. Em **ID da conta**, insira a ID da Conta da AWS e escolha **Próximo: permissões**.

1. Na caixa de pesquisa, insira o nome da política do IAM que você criou no procedimento anterior.

1. Nos resultados da pesquisa, verifique a política do IAM que você criou no procedimento anterior.

1. Escolha **Próximo: tags** e **Próximo: revisar**.

1. Em **Nome do perfil**, insira o nome desse perfil e escolha **Criar perfil**.

1. Na mensagem de confirmação, escolha o nome da função que você criou para editar o novo perfil.

1. Em **Resumo**, escolha a guia **Relações de confiança** e escolha **Editar relações de confiança**.

1. Em **Documento de política**, altere a propriedade `Principal` para ficar parecida com o exemplo a seguir.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   Depois de alterar a propriedade `Principal`, o documento de política completo deve ser semelhante a este exemplo.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. Para salvar as alterações e sair, escolha **Atualizar política de confiança**.

Com esse perfil definido, você pode encontrá-lo na lista de perfis ao configurar os destinos do AWS IoT Core for LoRaWAN.