Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Reducción de los costes de mensajería con Basic Ingest
Puedes usar Basic Ingest para enviar de forma segura los datos del dispositivo a la entidad Servicios de AWS compatibleAWS IoT acciones de reglas, sin incurrir en gastos de mensajería.
Basic Ingest puede enviar mensajes desde sus dispositivos o aplicaciones. Los mensajes tienen nombres de temas que comienzan por $aws/rules/
en sus tres primeros niveles, y donde rule_name
es el nombre de la regla de AWS IoT que quiere invocar.rule_name
Puede utilizar una regla existente con Basic Ingest agregando el prefijo de Basic Ingest ($aws/rules/
) al tema del mensaje que utilizaría para invocar la regla. Por ejemplo, si tiene una regla llamada rule_name
BuildingManager
que se invoca mediante mensajes con temas como Buildings/Building5/Floor2/Room201/Lights
("sql": "SELECT * FROM
'Buildings/#'"
), podrá invocar la misma regla con Basic Ingest enviando un mensaje con el tema $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights
.
nota
-
Sus dispositivos y sus reglas no pueden suscribirse a temas reservados para Basic Ingest. Por ejemplo, las AWS IoT Device Defender
num-messages-received
métricas no se emiten porque no permiten suscribirse a temas. Para obtener más información, consulte Temas reservados. -
Si necesita un agente de publicación o suscripción para distribuir los mensajes a varios suscriptores (por ejemplo, para entregar los mensajes a otros dispositivos y al motor de reglas), debe seguir utilizando el agente de mensajes para gestionar la distribución de los AWS IoT mensajes. No obstante, debe publicar sus mensajes en temas que no sean temas de Basic Ingest.
Uso de Basic Ingest
Antes de usar Basic Ingest, compruebe que su dispositivo o aplicación utilice una política que tenga permisos de publicación en $aws/rules/*
. O bien, puedes especificar el permiso para las reglas individuales $aws/rules/
en la política. De lo contrario, los dispositivos y las aplicaciones podrán seguir utilizando las conexiones existentes con AWS IoT Core.rule_name
/*
Cuando el mensaje llega al motor de reglas, no existe diferencia alguna en la implementación o en la gestión de los errores entre reglas invocadas desde Basic Ingest y las invocadas a través suscripciones al agente de mensajes.
Puede crear reglas para usarlas con Basic Ingest. Tenga en cuenta lo siguiente:
-
El prefijo inicial de un tema de Basic Ingest (
$aws/rules/
) no está disponible a la función topic(Decimal).rule_name
-
Si define una regla que se invoca solo con Basic Ingest, la cláusula
FROM
es opcional en el camposql
de la definiciónrule
. Seguirá siendo necesaria si la regla también se invoca a través de otros mensajes que deben enviarse por medio del agente de mensajes (por ejemplo, porque esos otros mensajes deban distribuirse a varios suscriptores). Para obtener más información, consulte AWS IoT Referencia SQL. -
Los primeros tres niveles del tema de Basic Ingest (
$aws/rules/
) no se cuentan en cuanto al límite de longitud de 8 segmentos o en cuanto al límite de caracteres total de 256 de un tema. De lo contrario, se aplican las mismas restricciones que se documentan en la sección sobre límites de AWS IoT.rule_name
-
Si se recibe un mensaje con un tema de Basic Ingest que especifica una regla inactiva o una regla que no existe, se crea un registro de errores en un CloudWatch registro de Amazon para ayudarte con la depuración. Para obtener más información, consulte Entradas del registro del motor de reglas. Se muestra una métrica
RuleNotFound
, en la cual podrá crear alarmas. Para obtener más información, consulte Métricas de la regla en Métricas de reglas. -
Seguirá pudiendo publicar con QoS 1 en temas de Basic Ingest. Recibirás un mensaje PUBACK después de que el mensaje se haya enviado correctamente al motor de reglas. Recibir un PUBACK no significa que las acciones de la regla se hayan completado correctamente. Puede configurar una acción de error para gestionar los errores durante el proceso de ejecución. Para obtener más información, consulte Control de errores (acción de error).