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.
Reciba notificaciones sobre el estado de la implementación y de los componentes
Las reglas de eventos de Amazon EventBridge le proporcionan notificaciones sobre los cambios de estado de sus implementaciones de Greengrass recibidas por sus dispositivos y para componentes instalados en su dispositivo. EventBridge proporciona un flujo 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 mejor esfuerzo. Esto quiere decir que AWS IoT Greengrass intenta enviar todos los eventos a EventBridge pero, en algunos casos raros, es posible que no se entregue un evento. Además, AWS IoT Greengrass podría enviar varias copias de un evento determinado, lo que significa que los oyentes 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 usar para conectar sus aplicaciones con datos de varios orígenes, como los dispositivos principales de Greengrass y las notificaciones de implementación y componente. Para obtener más información, consulte What is Amazon EventBridge? (¿Qué es Amazon EventBridge?) en la Guía del usuario de Amazon EventBridge.
Temas
Evento de cambio de estado de una implementación
AWS IoT Greengrass emite un evento cuando una implementación adopta los siguientes estados: FAILED, SUCCEEDED, COMPLETED, REJECTED y CANCELED. 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.
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 V2 Effective Deployment Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail":{ "deploymentId": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681", "coreDeviceExecutionStatus": "FAILED|SUCCEEDED|COMPLETED|REJECTED|CANCELED", "statusDetails": { "errorStack": ["DEPLOYMENT_FAILURE", "ARTIFACT_DOWNLOAD_ERROR", "S3_ERROR", "S3_ACCESS_DENIED", "S3_HEAD_OBJECT_ACCESS_DENIED"], "errorTypes": ["DEPENDENCY_ERROR", "PERMISSION_ERROR"], }, "reason": "S3_HEAD_OBJECT_ACCESS_DENIED: FAILED_NO_STATE_CHANGE: Failed to download artifact name: 's3://pentest27/nucleus/281/aws.greengrass.nucleus.zip' for component aws.greengrass.Nucleus-2.8.1, reason: S3 HeadObject returns 403 Access Denied. Ensure the IAM role associated with the core device has a policy granting s3:GetObject. null (Service: S3, Status Code: 403, Request ID: HR94ZNT2161DAR58, Extended Request ID: wTX4DDI+qigQt3uzwl9rlnQiYlBgwvPm/KJFWeFAn9t1mnGXTms/luLCYANgq08RIH+x2H+hEKc=)" } }
Puede crear reglas y eventos que informen sobre el estado de una implementación. Un evento se inicia cuando una implementación se completa como FAILED, SUCCEEDED, COMPLETED, REJECTED o CANCELED. Si la implementación falló en el dispositivo principal, recibirá una respuesta detallada que explica por qué la implementación falló. Para obtener más información sobre los códigos de error de la implementación, consulte Códigos de error de implementación detallados.
- Estados de implementación
-
-
FAILED. La implementación no se ha realizado correctamente -
SUCCEEDED: la implementación dirigida a un grupo de objetos se completó correctamente. -
COMPLETED: la implementación dirigida a un objeto se completó con éxito. -
REJECTED: la implementación se rechazó. Para obtener más información, consulte el campostatusDetails. -
CANCELED: la implementación se canceló por el usuario.
-
Es posible que los eventos se dupliquen o estén desordenados. Para determinar el orden de los eventos, utilice la propiedad time.
Para obtener una lista completa de los códigos de error en errorStacks y errorTypes, consulte Códigos de error de implementación detallados y Códigos de estado de componentes detallados.
Evento de cambio de estado del componente
Para las versiones 2.12.2 y anteriores de AWS IoT Greengrass, Greengrass emite un evento cuando un componente entra en los siguientes estados: ERRORED y BROKEN. Para las versiones 2.12.3 y posteriores del núcleo de Greengrass, Greengrass emite un evento cuando un componente entra en los siguientes estados: ERRORED, BROKEN, RUNNING y FINISHED. Greengrass también emitirá un evento cuando se complete una implementación. Puede crear una regla de EventBridge que se ejecute en todas las transiciones de estado que especifique. Cuando un componente instalado 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.
El evento de un cambio de estado del componente usa los siguientes formatos:
Puede crear reglas y eventos que informarán sobre el estado de un componente instalado. Se inicia un evento cuando un componente cambia de estado en el dispositivo. Recibirá una respuesta detallada en la que se explicará por qué un componente tiene errores o ha fallado. También recibirá un código de estado que indicará el motivo del fallo. Para obtener más información sobre los códigos del estado del componente, consulte Códigos de estado de componentes detallados.
Prerrequisitos para crear las reglas de EventBridge
Antes de crear una regla de EventBridge para AWS IoT Greengrass, haga lo siguiente:
-
Familiarícese 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 estado del dispositivo (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 activa en función de un evento de un recurso de AWS en la Guía del usuario de Amazon EventBridge.
-
Abra la consola de Amazon EventBridge
. -
En el panel de navegación, seleccione Reglas.
-
Elija Creación de regla.
-
Escriba un nombre y una descripción para la regla.
Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.
-
En Bus de eventos, seleccione 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.
-
En Tipo de regla, elija Regla con un patrón de evento.
-
Seleccione Siguiente.
-
En Origen de eventos, seleccione (Eventos de AWS).
-
En Patrón de eventos, seleccione serviciosAWS.
-
En Servicio de AWS, elija Greengrass.
-
En Tipo de evento, elija entre las siguientes opciones:
-
Para los eventos de implementación, elija Cambio de estado de la implementación efectiva de la versión 2 de Greengrass.
-
Para los eventos de componentes, elija Cambio de estado del componente instalado de la versión 2 de Greengrass.
-
-
Elija Siguiente.
-
En Tipos de destino (Tipos de destino), elija AWS service.
-
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.
-
En Destino, elija Tema de SNS.
-
En Topic (Tema), elija el tema de destino.
-
Elija Siguiente.
-
-
Elija Siguiente.
-
Revise los detalles de la regla y seleccione Creación de regla.
Configuración de las notificaciones de estado del dispositivo (CLI)
Use los siguientes pasos para crear una regla de EventBridge que publique un tema de Amazon SNS cuando haya un cambio de estado de evento de Greengrass. De este modo, los servidores web, las direcciones de correo electrónico y otros suscriptores del tema podrán responder al evento.
-
Crear la regla.
-
Para eventos de cambio de estado de una implementación.
aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}" -
Para eventos de cambio de estado de un componente.
aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Installed Component Status Change\"]}"
Las propiedades que se omiten en el patrón no se tienen en cuenta.
-
-
Agregue el tema como destino de la regla.
-
Sustituya
topic-arnpor 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 las notificaciones de estado del dispositivo (CloudFormation)
Utilice plantillas de 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
-
Comprobación del estado de la implementación del dispositivo
-
¿Qué es Amazon EventBridge? en la Guía del usuario de Amazon EventBridge