Obtención de notificaciones de implementación - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

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.

Obtención de notificaciones de implementación

Las reglas de eventos de Amazon EventBridge le proporcionan notificaciones sobre los cambios de estado de sus implementaciones de grupos de Greengrass. EventBridge proporciona una secuencia de eventos de sistema casi en tiempo real que describe cambios en los recursos de AWS. AWS IoT Greengrass envía estos eventos a EventBridge siguiendo el criterio de al menos una vez. Esto significa que AWS IoT Greengrass puede enviar varias copias de un evento determinado para garantizar la entrega. Además, los agentes de escucha de eventos podrían no recibir los eventos en el orden en el que los eventos han ocurrido.

nota

Amazon EventBridge es un servicio de bus de eventos que puede utilizar para conectar sus aplicaciones con datos procedentes de diversas fuentes, como los dispositivos centrales de Greengrass y las notificaciones de implementación. Para obtener más información, consulte What is Amazon EventBridge? (¿Qué es Amazon EventBridge?) en la Guía del usuario de Amazon EventBridge.

AWS IoT Greengrass emite un evento cuando las implementaciones de grupo cambian de estado. Puede crear una regla de EventBridge que se ejecute en todas las transiciones de estado que especifique. Cuando una implementación entra en un estado que inicia una regla, EventBridge invoca las acciones de destino definidas en la regla. Esto le permite enviar notificaciones, capturar información sobre el evento, tomar medidas correctivas o iniciar otros eventos en respuesta a un cambio de estado. Por ejemplo, puede crear reglas para los siguientes casos de uso:

  • Iniciar operaciones posteriores a la implementación, como descargar recursos y enviar notificaciones al personal.

  • Envíe notificaciones en caso de una implementación correcta o con error.

  • Publicar métricas personalizadas sobre los eventos de implementación.

AWS IoT Greengrass emite un evento cuando una implementación adopta los siguientes estados: Building, InProgress, Success y Failure.

nota

Actualmente, no se puede monitorizar el estado de una operación de implementación por lotes . Sin embargo, AWS IoT Greengrass emite eventos de cambio de estado sobre las implementaciones de los grupos específicos que forman parte de una implementación por lotes.

Evento de cambio de estado de una implementación de grupo

El evento de un cambio de estado de la implementación tiene el siguiente formato:

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass Deployment Status Change", "source":"aws.greengrass", "account":"123456789012", "time":"2018-03-22T00:38:11Z", "region":"us-west-2", "resources":[], "detail":{ "group-id": "284dcd4e-24bc-4c8c-a770-EXAMPLEf03b8", "deployment-id": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681", "deployment-type": "NewDeployment|Redeployment|ResetDeployment|ForceResetDeployment", "status": "Building|InProgress|Success|Failure" } }

Puede crear reglas que se apliquen a uno o varios grupos. Puede filtrar reglas por uno o varios de los siguientes tipos de implementaciones y estados de implementación:

Tipos de implementación
  • NewDeployment. Primera implementación de la versión de un grupo.

  • ReDeployment. Nueva implementación de la versión de un grupo.

  • ResetDeployment. Elimina la información de implementación almacenada en la Nube de AWS y en el núcleo de AWS IoT Greengrass. Para obtener más información, consulte Restablecimiento de implementaciones.

  • ForceResetDeployment. Elimina la información de la implementación almacenada en la Nube de AWS y notifica el éxito sin esperar a que el núcleo responda. También elimina la información de la implementación almacenada en el núcleo si este está conectado. De lo contrario, la información se eliminará la próxima vez que se conecte el núcleo.

Estados de implementación
  • Building. AWS IoT Greengrass está validando la configuración del grupo y creando artefactos de implementación.

  • InProgress. La implementación está en curso en AWS IoT Greengrass.

  • Success. La implementación se ha realizado correctamente.

  • Failure. La implementación no se ha realizado correctamente

Es posible que los eventos se dupliquen o estén desordenados. Para determinar el orden de los eventos, utilice la propiedad time.

nota

AWS IoT Greengrass no utiliza la propiedad resources, por lo que siempre está vacía.

Prerequisitos para crear las reglas de EventBridge

Antes de crear una regla de EventBridge para AWS IoT Greengrass, haga lo siguiente:

  • Familiarizase con los eventos, las reglas y los destinos de EventBridge.

  • Cree y configure los destinos que las reglas de EventBridge han invocado. Las reglas pueden invocar muchos tipos de destinos, entre los que se incluyen:

    • Amazon Simple Notification Service (Amazon SNS)

    • Funciones de AWS Lambda

    • Amazon Kinesis Video Streams

    • Colas de Amazon Simple Queue Service (Amazon SQS)

Para obtener más información, consulte What is Amazon EventBridge? (¿Qué es Amazon EventBridge?) y Getting started with Amazon EventBridge (Introducción a Amazon EventBridge) en la Guía del usuario de Amazon EventBridge.

Configuración de las notificaciones de implementación (consola)

Siga estos pasos para crear una regla de EventBridge que publique un tema de Amazon SNS cuando cambie el estado de implementación de un grupo. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento. Para obtener más información, consulte Creación de una regla de EventBridge que se active a partir de un evento de un recurso de AWS en la Guía del usuario de Amazon EventBridge.

  1. Abra la consola de Amazon EventBridge.

  2. En el panel de navegación, seleccione Rules (Reglas).

  3. Elija Create rule.

  4. Escriba un nombre y una descripción de la regla.

    Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

  5. En Event bus (Bus de eventos), elija el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione Bus de eventos predeterminado de AWS. Cuando un servicio de AWS en su cuenta emite un evento, siempre va al bus de eventos predeterminado de su cuenta.

  6. En Rule type (Tipo de regla), elija Rule with an event pattern (Regla con un patrón de evento).

  7. Elija Next (Siguiente).

  8. En Event source (Origen del evento), elija AWS services (Servicios de ).

  9. En Patrón de eventos, seleccione serviciosAWS.

  10. En AWSServicio, elija Greengrass.

  11. En Event type (Tipo de evento), elija Greengrass Deployment Status Change (Cambio de estado de implementación de Greengrass).

    nota

    El tipo de evento Llamada a la API de AWS mediante CloudTrail se basa en la integración de AWS IoT Greengrass con AWS CloudTrail. Puede usar esta opción para crear reglas iniciadas por llamadas de lectura o escritura a la API de AWS IoT Greengrass. Para obtener más información, consulte Registro de llamadas a la API de AWS IoT Greengrass con AWS CloudTrail.

  12. Elija los estados de implementación que inicia una notificación.

    • Para recibir notificaciones de todos los eventos de cambio de estado, seleccione Any state (Cualquier estado).

    • Para recibir notificaciones solo para algunos eventos de cambio de estado, elija Specific state(s) (Estados específicos) y, a continuación, elija los estados de destino.

  13. Elija los tipos de implementación que inicia una notificación.

    • Para recibir notificaciones de todos los tipos de implementación, elija Any state (Cualquier estado).

    • Para recibir notificaciones solo para algunos tipos de implementación, elija Specific state(s) (Estados específicos) y, a continuación, elija los tipos de implementación de destino.

  14. Elija Next (Siguiente).

  15. En Tipos de destino (Tipos de destino), elija AWS service.

  16. En Seleccionar destinos, configure su destino. En este ejemplo se utiliza un tema de Amazon SNS, pero se pueden configurar otros tipos de destino para enviar notificaciones.

    1. En Target (Destino), elija SNS topic (Tema de SNS).

    2. En Topic (Tema), elija el tema de destino.

    3. Elija Next (Siguiente).

  17. En Etiquetas, defina etiquetas para la regla o deje los campos vacíos.

  18. Elija Next (Siguiente).

  19. Revise los detalles de la regla y elija Create rule (Crear regla).

Configuración de notificaciones de implementación (CLI)

Siga estos pasos para crear una regla de EventBridge que publique un tema de Amazon SNS cuando cambie el estado de implementación de un grupo. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento.

  1. Cree la regla de .

    • Sustituya id-grupo por el ID de su grupo de AWS IoT Greengrass.

    aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"group-id\": [\"group-id\"]}}"

    Las propiedades que se omiten en el patrón no se tienen en cuenta.

  2. Añada el tema como destino de la regla.

    • Sustituya topic-arn por el ARN de su tema de Amazon SNS.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    nota

    Para permitir que Amazon EventBridge llame al tema de destino, debe agregar en el tema una política basada en recursos. Para obtener más información, consulte Amazon SNS permissions (Permisos de Amazon SNS) en la Guía del usuario de Amazon EventBridge.

Para obtener más información, consulte Events and event patterns in EventBridge (Eventos y patrones de eventos en EventBridge) en la Guía del usuario de Amazon EventBridge.

Configuración de notificaciones de implementación (AWS CloudFormation)

Utilice plantillas de AWS CloudFormation para crear reglas de EventBridge que envíen notificaciones sobre cambios de estado para las implementaciones de grupos de Greengrass. Para obtener más información, consulte Referencia de tipos de recursos de Amazon EventBridge en la Guía del usuario de AWS CloudFormation.

Véase también