Reducción de costos 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 costos de mensajería con Basic Ingest

Con Basic Ingest, puede enviar datos de dispositivos de forma segura a laAWSservicios admitidos porAcciones de reglas de AWS IoT, sin incurrircostos 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, lo que lo hace más rentable.

Utiliza Basic Ingest para enviar mensajes desde tus dispositivos o aplicaciones. Los mensajes tienen nombres de temas que empiezan por$aws/rules/rule_namepara sus tres primeros niveles, donderule_namees el nombre delAWS IoTregla que desea invocar.

Puede utilizar una regla existente con Basic Ingest añadiendo el prefijo de Basic Ingest ($aws/rules/rule_name) al tema del mensaje que normalmente utilizaría para invocar la regla. Por ejemplo, si tiene una regla llamadaBuildingManagerque se invoca mediante mensajes con temas comoBuildings/Building5/Floor2/Room201/Lights("sql": "SELECT * FROM 'Buildings/#'"), puede 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/suscripción para distribuir mensajes a varios suscriptores (por ejemplo para entregar mensajes a otros dispositivos y al motor de reglas), debe seguir utilizando el agente de mensajes de AWS IoT para gestionar la distribución de los mensajes. Sin embargo, asegúrese de publicar sus mensajes en temas que no sean temas de Basic Ingest.

Uso de Basic Ingest

Antes de utilizar Basic Ingest, asegúrese de que su dispositivo o su aplicación utiliza unPolítica de deque tiene permisos de publicación en$aws/rules/*. De forma alternativa, puede especificar permiso para reglas individuales con$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 ejecució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,FROMcláusula es opcional en lasqlde laruledefinición. 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 Referencia de la SQL de AWS IoT.

  • 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 para un tema. De lo contrario, se aplican las mismas restricciones que se documentan enAWS IoTLímites.

  • Si se recibe un mensaje con un tema de Basic Ingest que especifica una regla no activa o una regla que no existe, se crea un registro de errores en un registro de Amazon CloudWatch que le ayudará con la tarea de 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 relacionadas con la regla se hayan realizado correctamente. Puede configurar una acción de error para gestionar los errores cuando se ejecuta una acción. Para obtener información, consulte Control de errores (acción de error).