Reducción de los costes de mensajería con Basic Ingest - AWS IoT Core

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 optimiza el flujo de datos eliminando el agente de mensajes de publicación/suscripción de la ruta de adquisición.

Basic Ingest puede enviar mensajes desde sus dispositivos o aplicaciones. Los mensajes tienen nombres de temas que comienzan por $aws/rules/rule_name en sus tres primeros niveles, y donde rule_name es el nombre de la regla de AWS IoT que quiere invocar.

Puede utilizar una regla existente con Basic Ingest agregando el prefijo de Basic Ingest ($aws/rules/rule_name) al tema del mensaje que utilizaría para invocar la regla. Por ejemplo, si tiene una regla llamada 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. 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/rule_name/* en la política. De lo contrario, los dispositivos y las aplicaciones podrán seguir utilizando las conexiones existentes con AWS IoT Core.

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/rule_name) no está disponible a la función topic(Decimal).

  • Si define una regla que se invoca solo con Basic Ingest, la cláusula FROM es opcional en el campo sql de la definición rule. 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/rule_name) 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.

  • 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á PUBACK después de que el mensaje se entregue correctamente al motor de reglas. Recibir PUBACK no significa que las acciones asociadas a la regla se hayan realizado 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).