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 pode enviar mensagens de seus dispositivos ou aplicativos. As mensagens têm nomes de tópicos que começam com $aws/rules/
para os três primeiros níveis, onde rule_name
é o nome da regra de AWS IoT que você deseja invocar.rule_name
Você pode continuar a usar uma regra existente com a Ingestão básica adicionando o prefixo de Ingestão básica ($aws/rules/
) ao tópico da mensagem com o qual você normalmente invoca a regra. Por exemplo, se você tiver uma regra chamada rule_name
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 ter 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/
dentro da política. Caso contrário, seus dispositivos e aplicativos poderão continuar a usar suas conexões existentes com o AWS IoT Core.rule_name
/*
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/
) não está disponível na função topic(Decimal).rule_name
-
Se você definir uma regra invocada apenas com a Ingestão básica, a cláusula
FROM
será opcional no camposql
da definição derule
. 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 ter 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/
) 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.rule_name
-
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 ter 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 uma PUBACK depois que a mensagem é entregue com êxito ao mecanismo de regras. O recebimento de uma PUBACK não indica que as ações da regra foram concluídas com êxito. Você pode configurar uma ação de erro para lidar com erros durante a execução de uma ação. Para ter mais informações, consulte Tratamento de erros (ação de erro).