Reduzir custos do sistema de mensagens com Ingestão básica - AWS IoT Core

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

Reduzir custos do sistema de mensagens com Ingestão básica

Você pode usar o Basic Ingest para enviar dados do dispositivo com segurança para o Serviços da AWS suportadoAWS IoT ações de regras, sem incorrer em custos de mensagens. A Ingestão básica otimiza o fluxo de dados removendo o agente de mensagens de publicação/assinatura do caminho da ingestão.

A Ingestão básica pode enviar mensagens de seus dispositivos ou aplicativos. As mensagens têm nomes de tópicos que começam com $aws/rules/rule_name para os três primeiros níveis, onde rule_name é o nome da regra de AWS IoT que você deseja invocar.

Você pode continuar a usar uma regra existente com a Ingestão básica adicionando o prefixo de Ingestão básica ($aws/rules/rule_name) ao tópico da mensagem com o qual você normalmente invoca a regra. Por exemplo, se você tiver uma regra chamada BuildingManager que é invocada por mensagens com tópicos, como Buildings/Building5/Floor2/Room201/Lights ("sql": "SELECT * FROM 'Buildings/#'"), você poderá invocar a mesma regra com a Ingestão básica enviando uma mensagem com o tópico $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights.

nota
  • Seus dispositivos e regras não podem se inscrever em tópicos reservados da Ingestão básica. Por exemplo, as AWS IoT Device Defender métricas num-messages-received métricas não são emitidas porque não oferecem suporte à assinatura de tópicos. Para obter mais informações, consulte Tópicos reservados.

  • Se você precisar de um agente de publicação/assinatura para distribuir mensagens para vários assinantes (por exemplo, para entregar mensagens para outros dispositivos e para o mecanismo de regras), continue usando o agente de AWS IoT mensagens para lidar com a distribuição de mensagens. No entanto, certifique-se de publicar suas mensagens em tópicos que não sejam tópicos da Ingestão básica.

Usar a Ingestão básica

Antes de usar a Ingestão básica, verifique se seu dispositivo ou aplicativo está usando uma política com permissões de publicação em $aws/rules/*. Ou você pode especificar a permissão para regras individuais $aws/rules/rule_name/* na política. Caso contrário, seus dispositivos e aplicativos poderão continuar a usar suas conexões existentes com o AWS IoT Core.

Quando a mensagem atinge o mecanismo de regras, não há diferença na implementação ou no tratamento de erros entre as regras invocadas pela Ingestão básica e as invocadas pelas assinaturas de agentes de mensagens.

Você pode criar regras para uso com a Ingestão básica. Lembre-se do seguinte:

  • O prefixo inicial de um tópico de Ingestão básica ($aws/rules/rule_name) não está disponível na função topic(Decimal).

  • Se você definir uma regra invocada apenas com a Ingestão básica, a cláusula FROM será opcional no campo sql da definição de rule. Ela ainda será necessária se a regra também for invocada por outras mensagens que devem ser enviadas por meio do agente de mensagens (por exemplo, porque essas outras mensagens devem ser distribuídas a vários assinantes). Para obter mais informações, consulte AWS IoT Referência SQL.

  • Os três primeiros níveis do tópico da Ingestão básica ($aws/rules/rule_name) não são inclusos no cálculo do tamanho máximo de 8 segmentos ou no limite total de 256 caracteres por tópico. Caso contrário, as mesmas restrições se aplicarão conforme documentado em Limites de AWS IoT.

  • Se uma mensagem for recebida com um tópico do Basic Ingest que especifica uma regra inativa ou uma regra que não existe, um registro de erros é criado em um registro da Amazon CloudWatch para ajudá-lo na depuração. Para obter mais informações, consulte Entradas de log do mecanismo de regras. Uma métrica RuleNotFound é indicada e você pode criar alarmes nessa métrica. Para obter mais informações, consulte Métricas de regras em Métricas de regra.

  • Você ainda poderá publicar com QoS 1 em tópicos de Ingestão básica. Você recebe um PUBACK após a mensagem ser entregue com sucesso ao mecanismo de regras. Receber um PUBACK não significa que suas ações de regra foram concluídas com sucesso. Você pode configurar uma ação de erro para lidar com erros durante a execução de uma ação. Para obter mais informações, consulte Tratamento de erros (ação de erro).