Adicionar destinos ao AWS IoT Core for LoRaWAN - AWS IoT Wireless

Adicionar destinos ao AWS IoT Core for LoRaWAN

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

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, 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 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 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.

    • 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.

    Para obter mais informações sobre as regras de AWS IoT para destinos, consulte Criar regras para processar mensagens de dispositivo LoRaWAN.

  • 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.

Adicionar um destino usando a API

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.

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.

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.

Como usar a AWS CLI para adicionar um destino

Você pode usar a AWS CLI para adicionar um destino usando o comando create-destination. 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 MqttTopicd.

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 e Criar um perfil do IAM para os destinos.

Para obter informações sobre as CLIs que você pode usar, consulte Referência da AWS CLI.

Criar um perfil do IAM para os destinos

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.

  2. Escolha Criar política e escolha a guia JSON.

  3. 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": "*" } ] }
  4. 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.

  5. 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 e escolha Criar perfil.

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

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

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

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

  6. Escolha Próximo: tags e Próximo: revisar.

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

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

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

  10. 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": {} } ] }
  11. 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.