Monitorización de SES eventos con Amazon EventBridge - Amazon Simple Email Service

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.

Monitorización de SES eventos con Amazon EventBridge

EventBridge es un servicio sin servidor que utiliza eventos para conectar los componentes de la aplicación, lo que facilita la creación de aplicaciones escalables basadas en eventos. La arquitectura basada en eventos es un estilo de creación de sistemas de software de acoplamiento flexible que funcionan juntos emitiendo eventos y respondiendo a ellos. Los eventos son mensajes JSON con formato que, por lo general, representan un cambio en un recurso o entorno u otro evento de administración.

Algunas SES funciones generarán y enviarán los eventos que usted defina al crear un destino de eventos al bus de eventos EventBridge predeterminado. Un bus de eventos es un enrutador que recibe eventos y los envía a cero o más destinos u objetivos. Las reglas que se asocian al bus de eventos evalúan los eventos a medida que llegan. Cada regla comprueba si un evento coincide con el patrón de la regla. Si el evento coincide, EventBridge envía el evento a los destinos especificados.

SESenvía eventos EventBridge cuando una función cambia de estado o actualiza su estado. Puede usar EventBridge reglas para dirigir los eventos a los objetivos definidos. Estos eventos se entregarán según el mejor esfuerzo y pueden entregarse sin ordenar.

SESeventos

Las SES funciones generan los siguientes eventos y los envían al bus de eventos predeterminado en EventBridge. Para obtener más información, incluidos los datos detallados de cada tipo de evento, consulteSESreferencia del esquema de eventos.

Eventos de asesoramiento de Virtual Deliverability Manager
Tipo de evento Descripción

Estado de recomendación de un asesor abierto

Un evento generado cada vez que se abre una nueva recomendación en el asesor del Administrador virtual de entrega.

Estado de recomendación de un asesor resuelto

Un evento generado cada vez que se resuelve una recomendación en el asesor del Administrador virtual de entrega.

SESeventos de envío de correo electrónico
Tipo de evento Descripción

Correo electrónico devuelto

Un rebote forzoso de que el servidor de correo del destinatario rechazó permanentemente el correo electrónico. (Los rebotes suaves solo se incluyen cuando SES no se entrega el correo electrónico después de volver a intentarlo durante un período de tiempo).

Se hizo clic en el correo electrónico

El destinatario hizo clic en uno o más enlaces del correo electrónico.

Se recibió una queja por correo electrónico

El correo electrónico se envió correctamente al servidor de correo del destinatario, pero el destinatario lo marcó como correo no deseado.

Entrega de correo electrónico

SESentregó correctamente el correo electrónico al servidor de correo del destinatario.

Se retrasó la entrega del correo

No se pudo entregar el correo electrónico al servidor de correo del destinatario porque se produjo un problema temporal. Pueden producirse retrasos en la entrega, por ejemplo, si la bandeja de entrada del destinatario está llena o el servidor de recepción de email experimenta un problema transitorio.

Correo electrónico abierto

El destinatario recibió el mensaje y lo abrió en su cliente de correo electrónico.

Correo electrónico rechazado

SESaceptó el correo electrónico, pero determinó que contenía un virus y no intentó entregarlo al servidor de correo del destinatario.

Falló la representación del correo electrónico

El correo electrónico no se envió debido a un problema de representación de la plantilla. Este tipo de evento se puede producir cuando faltan datos en la plantilla o cuando los parámetros y los datos de la plantilla no coinciden. (Este tipo de evento solo se produce cuando se envía un correo electrónico mediante las SendBulkTemplatedEmailAPIoperaciones SendTemplatedEmailo).

Correo electrónico enviado

La solicitud de envío se realizó correctamente e SES intentará entregar el mensaje al servidor de correo del destinatario. (Si se utiliza la supresión global o a nivel de cuenta, se SES seguirá contando como envío, pero se suprimirá la entrega).

Correo electrónico suscrito

El correo electrónico se envió correctamente, pero el destinatario actualizó las preferencias de suscripción haciendo clic List-Unsubscribe en el encabezado del correo electrónico o en el Unsubscribe enlace del pie de página.

SESreferencia del esquema de eventos

Todos los eventos de los AWS servicios tienen un conjunto común de campos que contienen metadatos sobre el evento, como el AWS servicio que es el origen del evento, la hora en que se generó el evento, la cuenta y la región en las que tuvo lugar el evento, etc. Para ver las definiciones de estos campos generales, consulte la referencia a la estructura de eventos en la Guía del EventBridge usuario.

Además, cada evento tiene un campo detail que contiene datos específicos de ese evento en particular. La siguiente referencia define los campos de detalle de los distintos SES eventos.

Al EventBridge utilizarlos para seleccionar y gestionar SES eventos, es útil tener en cuenta lo siguiente:

  • El source campo para todos los eventos de SES está establecido enaws.ses.

  • El campo detail-type especifica el tipo de evento. Consulte la tabla de tipos de eventos enSESeventos.

  • El campo detail contiene los datos específicos de ese evento en particular.

    Para algunos tipos de eventos, como los de Virtual Deliverability Manager, el campo de detalle es una cadena de datos bastante simplista que se rellena a partir de un conjunto finito de valores estáticos. Por el contrario, el campo de detalle de los eventos de envío de correo electrónico es más complejo, ya que puede constar de muchos subcampos de detalle que son una combinación de valores estáticos y dinámicos, como la marca de tiempo del envío de un correo electrónico, la dirección del destinatario y muchos otros atributos del correo electrónico.

Esquema de estado de asesor del Administrador virtual de entrega

La siguiente referencia de esquema define los campos específicos de los eventos de estado de asesor de Virtual Deliverability Manager.

Las definiciones de los campos generales que aparecen en todos los esquemas de eventos (comoversion, idaccount, y otros) se encuentran en la referencia a la estructura de eventos de la Guía del EventBridge usuario. Los detail-type campos source y se incluyen en la referencia siguiente porque contienen valores SES específicos para SES los eventos.

source

Identifica el servicio que generó el evento. En el SES caso de los eventos, este valor esaws.ses.

detail-type

Identifica el tipo de evento.

Los valores de este campo se muestran en la tabla de eventos del asesor de Virtual Deliverability Manager enSESeventos.

detail

JSONObjeto que contiene información sobre el evento. El servicio que genera el evento determina el contenido de este campo.

Los valores de este campo pueden ser:

  • DKIM verification is not enabled.

  • DKIM verification has failed.

  • DKIM signing key length is below 2048 bits.

  • DMARC configuration was not found.

  • DMARC configuration could not be parsed.

  • DKIM record was not found.

  • DKIM record is not aligned.

  • MAIL FROM record is not aligned.

  • SPF record was not found.

  • SPF record for Amazon SES was not found.

  • SPF all qualifier is missing.

  • An SPF configuration issue was found.

  • BIMI record not found or configured without default selector.

  • BIMI has malformed TXT record.

ejemplo Ejemplo: evento de estado de asesor del Administrador virtual de entrega

A continuación, se muestra un ejemplo de un evento de estado de asesor del Administrador virtual de entrega para el tipo de evento Advisor Recommendation Status Open. El valor del evento detallado en este ejemplo esSPF record was not found..

{ "version": "0", "id": "abcd9999-ef33-0123-90ab-abcdef666666", "detail-type": "Advisor Recommendation Status Open", "source": "aws.ses", "account": "012345678901", "time": "2023-11-15T17:00:59Z", "region": "us-east-1", "resources": [ "arn:aws:ses:us-east-1:012345678901:identity/vdm.events-publishing.cajun.syster-games.example.com" ], "detail": { "version": "1.0.0", "data": "SPF record was not found." } }

SESesquema de estado de envío de correo electrónico

La siguiente referencia de esquema define los campos específicos de los eventos de estado del envío de SES correos electrónicos.

Las definiciones de los campos generales que aparecen en todos los esquemas de eventos (comoversion, idaccount, y otros) se encuentran en la referencia a la estructura de eventos de la Guía del EventBridge usuario. Los detail-type campos source y se incluyen en la referencia siguiente porque contienen valores SES específicos para SES los eventos.

source

Identifica el servicio que generó el evento. En el SES caso de los eventos, este valor esaws.ses.

detail-type

Identifica el tipo de evento.

Los valores de este campo se muestran en la tabla de eventos de envío de SES correo electrónico enSESeventos.

detail

JSONObjeto que contiene información sobre el evento. El servicio que genera el evento determina el contenido de este campo.

No se pueden enumerar aquí todos los valores posibles de este campo porque están compuestos por valores estáticos y dinámicos generados por cada correo electrónico único que se envía en un momento dado. Sin embargo, se proporciona un ejemplo para darle una idea del tipo de datos que puede contener este campo. Puede encontrar ejemplos de datos detallados para todos los tipos de eventos de envío de correo electrónico utilizando el EventBridge Sandbox, consulteEspecifique un evento de muestra en EventBridge.

Un ejemplo de datos detallados generados para el evento Email Rendering Failed de envío de SES correo electrónico:

..., "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } }
ejemplo Ejemplo: evento de estado de envío de correo electrónico

A continuación se muestra un ejemplo del evento de estado completo del envío de correo electrónico para el tipo de eventoEmail Rendering Failed. El valor detallado del evento de este ejemplo es una combinación de valores estáticos y dinámicos basados en el evento de envío de correo electrónico de un correo electrónico específico.

{ "version": "0", "id": "12a18625-3328-fafd-2809-a5e16004f112", "detail-type": "Email Rendering Failed", "source": "aws.ses", "account": "123456789012", "time": "2023-07-17T16:48:05Z", "region": "us-east-1", "resources": ["arn:aws:ses:us-east-1:123456789012:identity/example.com"], "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } } }

EventBridge Utilización con SES eventos

De forma predeterminada, SES envía los eventos al bus de eventos EventBridge predeterminado. Puede crear reglas en el bus de eventos predeterminado para identificar eventos específicos y enviarlos EventBridge a uno o más destinos específicos. Cada regla contiene un patrón de eventos que se EventBridge utiliza para hacer coincidir los eventos a medida que llegan al bus de eventos. Si un evento coincide con el patrón de eventos de una regla determinada, EventBridge envía el evento al destino especificado en la regla.

En EventBridge, definir un patrón de eventos suele formar parte de un proceso más amplio de crear una nueva regla o editar una existente. Para obtener información sobre cómo crear EventBridge reglas, consulta Cómo crear EventBridge reglas de Amazon que reaccionen a los eventos en la Guía del EventBridge usuario.

Al utilizar la función Sandbox EventBridge, puedes definir rápidamente un patrón de eventos y usar un evento de muestra para confirmar que el patrón coincide con los eventos deseados, sin tener que crear o editar primero una regla. Para obtener instrucciones detalladas sobre el uso del Sandbox, consulte Probar un patrón de eventos con el EventBridge Sandbox en la Guía del EventBridge usuario.

Especifique un SES ejemplo de evento en el entorno aislado EventBridge

Puede seleccionar eventos de muestra para SES los eventos y usarlos para probar los patrones de eventos que cree.

Para especificar un evento SES de muestra en el EventBridge entorno aislado
  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En el panel de navegación, seleccione Recursos para desarrolladores, a continuación, seleccione Entorno aislado y, en la página Entorno aislado, seleccione la pestaña Patrón de eventos.

  3. En Fuente del evento, selecciona AWS eventos o eventos EventBridge asociados.

  4. En la sección Evento de muestra, en Tipo de evento de muestra, seleccione Eventos de AWS .

  5. Para ver ejemplos de eventos, desplázate hacia abajo SESy selecciona el SES evento deseado.

    EventBridge muestra un evento de muestra, junto con todos sus datos detallados, para el tipo de evento.

    A continuación, puede utilizar este evento para probar el patrón de eventos que ha creado en la sección Patrones de eventos o utilizarlo como base para crear sus propios eventos de muestra para las pruebas de patrones que se describen en la siguiente sección.

Crear y probar patrones de SES eventos para eventos

Una vez que haya seleccionado un evento de muestra, como se explicó en la sección anterior, puede crear un patrón de eventos y usar el evento de muestra para asegurarse de que coincide con los eventos que desee.

Para crear y probar un patrón de eventos que coincida con SES los eventos del EventBridge entorno aislado
  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En el panel de navegación, seleccione Recursos para desarrolladores, a continuación, seleccione Entorno aislado y, en la página Entorno aislado, seleccione la pestaña Patrón de eventos.

  3. En Origen del evento, elige AWS eventos o eventos EventBridge asociados y selecciona el evento de muestra que quieras probar, tal y como se explica en la sección anterior.

  4. Desplázate hacia abajo hasta Método de creación y selecciona Usar forma de patrón.

  5. En la sección Patrón de eventos, en Fuente de eventos, elija Servicios de AWS .

  6. En AWS Servicio, selecciona SES.

  7. En Tipo de evento, selecciona el tipo de SES evento que quieres que coincida.

    EventBridge muestra el patrón de eventos mínimo, compuesto por detail-type campos source y campos, que coincide con el SES evento seleccionado.

    En los dos ejemplos, el primer patrón de eventos coincide con todos los Advisor Recommendation Status Resolved eventos y, en el segundo, con todos los Email Bounced eventos:

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"] }
    { "source": ["aws.ses"], "detail-type": ["Email Bounced"] }
  8. Para realizar cambios en el patrón de eventos, seleccione Editar patrón y realice los cambios en el JSON editor.

    También puede hacer coincidir los valores de uno o más campos de datos de detalle. Esto incluye especificar varios valores posibles para un valor de campo.

    En el siguiente ejemplo, se agregó el campo de detalle al patrón de eventos mínimo generado con el valor de data campo especificado como DKIM record was not found para buscar todos los eventos de los asesores de Virtual Deliverability Manager con el mismo valor de detalle:

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"], "detail": { "data": ["DKIM record was not found."] } }

    En este ejemplo, se agregaron subcampos de detalles para informar sobre los eventos generados por todos los correos electrónicos enviados desde noreply@example.com el 5 de agosto de 2020 y que fueron rechazados. (La coincidencia de prefijos se utiliza aquí como parte del filtrado de contenido. ):

    { "source": ["aws.ses"], "detail-type": ["Email Bounced"], "detail": { "mail": { "timestamp": [{ "prefix": "2024-08-05" }], "source": ["noreply@example.com"] } } }

    Es importante que lea los patrones de eventos en la Guía del EventBridge usuario, donde se explica que el valor del patrón de eventos que introduzca en el JSON editor debe estar entre corchetes [...] porque se considera una matriz. También se proporciona esta y más información sobre cómo crear patrones de eventos avanzados.

  9. Para comprobar si su patrón de eventos coincide con el evento de ejemplo que especificó en el panel de eventos de ejemplo anterior, seleccione Probar patrón. Si coincide, aparecerá un cartel verde en la parte inferior del JSON editor: «El evento de muestra coincidió con el patrón del evento».

  10. Para solucionar los errores tras seleccionar el patrón de prueba:

    • Si hay errores JSON relacionados, el mensaje indicará el motivo, por ejemplo: «El patrón de eventos no es válido». Motivo: los «datos» deben ser un objeto o una matriz en la línea: 5, columna: 14». Para solucionar este problema, coloque el valor en la línea 5 entre corchetes. [...]

    • Si hay una discrepancia entre los valores del evento de muestra y tu patrón de eventos, el mensaje será: «El evento de muestra no coincidió con el patrón de eventos». Esto significa que uno o más valores que quieres probar son diferentes de los valores de ejemplo generados por el generador de eventos de Sample. Para solucionar este problema, continúe con los pasos restantes.

  11. Para cambiar los valores de muestra en el evento de muestra con el fin de probar correctamente el patrón de eventos, en el panel de eventos de muestra, seleccione Copiar en el JSON editor.

  12. Selecciona el botón de radio situado junto al tipo de evento Introducir mi propio tipo de evento como ejemplo situado en la parte superior del editor.

  13. Pegue el evento de muestra en el JSON editor y, en cualquier campo que esté utilizando en su patrón de eventos, sustituya el valor de ese mismo campo para que coincida con el valor que especificó en su patrón de eventos.

  14. Desplázate hacia abajo hasta el panel Patrón de eventos y vuelve a seleccionar Probar patrón. Si todos los valores se introdujeron correctamente y coinciden, aparecerá un cartel verde en la parte inferior del JSON editor que dice: «Un ejemplo de evento coincidió con el patrón de eventos».

EventBridge Recursos adicionales

Consulta los siguientes temas de la Guía del EventBridge usuario de Amazon para obtener más información sobre EventBridge cómo procesar y gestionar eventos.

  • Para obtener información detallada sobre cómo funcionan los autobuses de eventos, consulta Amazon EventBridge Event Bus.

  • Para obtener información sobre la estructura de los eventos, consulte Events.

  • Para obtener información sobre cómo crear patrones de eventos EventBridge para usarlos al comparar eventos con las reglas, consulte Patrones de eventos

  • Para obtener información sobre la creación de reglas para especificar qué eventos se EventBridge procesan, consulte Reglas

  • Para obtener información sobre cómo especificar a qué servicios u otros destinos EventBridge envían los eventos coincidentes, consulte Targets