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 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/
na 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 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/
) 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 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).