¿Cómo puedo solucionar los problemas de la política de filtro de suscripciones en Amazon SNS?

3 minutos de lectura
0

Mi política de filtro de suscripciones de Amazon Simple Notification Service (Amazon SNS) no funciona.

Solución

Importante: Las adiciones o cambios a una política de filtro de suscripciones tardan hasta 15 minutos en surtir efecto.

Una suscripción solo acepta un mensaje en las siguientes condiciones:

  • Al establecer MessageAttributes como ámbito de la política de filtro, cada nombre de propiedad de la política de filtro coincide con el nombre de un atributo de mensaje. Por cada nombre de propiedad coincidente en la política de filtro, al menos un valor de propiedad coincide con el valor del atributo del mensaje.
  • Al establecer MessageBody como ámbito de la política de filtro, cada nombre de propiedad de la política coincide con un nombre de propiedad del cuerpo del mensaje. Por cada nombre de propiedad coincidente en la política de filtro, al menos un valor de propiedad coincide con el valor de propiedad del cuerpo del mensaje

Compruebe si su política de filtro ha rechazado los mensajes porque no incluían atributos. Para el filtrado de mensajes basado en atributos, revise la métrica NumberOfNotificationsFilteredOut-NoMessageAttributes en las métricas de Amazon CloudWatch para Amazon SNS.

Para obtener más información, consulte Filtrado de mensajes en Amazon SNS.

Para ver un tutorial sobre cómo enviar mensajes con atributos, consulte Para publicar mensajes en temas de Amazon SNS mediante la Consola de administración de AWS.

Para ver un tutorial sobre cómo enviar mensajes con un filtrado basado en la carga, consulte Publicación de la carga útil específica de la plataforma.

Comprobación de si los mensajes publicados en su tema de Amazon SNS cumplen las restricciones de la política de filtro requeridas

Para obtener una lista completa de las restricciones, consulte Restricciones de política de filtro.

Comprobación de si la política de filtro de suscripciones está configurada correctamente en función del filtrado basado en atributos o del filtrado basado en la carga

Si el mensaje incluye el campo MessageAttributes, cualquier suscripción a un tema que establezca una FilterPolicy podrá aceptar o rechazar el mensaje de forma selectiva. Para ello, debe definir FilterPolicyScope como MessageAttributes en la suscripción.

Del mismo modo, cualquier suscripción a un tema que incluya una FilterPolicy puede aceptar o rechazar el mensaje de forma selectiva si FilterPolicyScope se ha definido como MessageBody en la suscripción.

Para obtener más información sobre los formatos de políticas de filtro correctos, consulte la siguiente documentación:

Para ver los mensajes que su política de filtro ha rechazado debido a que los atributos no coincidían o tenían un formato incorrecto, consulte las siguientes métricas de CloudWatch para Amazon SNS:

  • NumberOfNotificationsFilteredOut
  • NumberOfNotificationsFilteredOut-InvalidAttributes
  • NumberOfNotificationsFilteredOut-InvalidMessageBody
  • NumberOfNotificationsFilteredOut-MessageBody

Nota:

  • La métrica NumberOfNotificationsFilteredOut muestra los mensajes que la política de filtro rechazó porque los atributos del mensaje no coincidían con los atributos de la política.
  • La métrica NumberOfNotificationsFilteredOut-InvalidAttributes muestra los mensajes que la política de filtro ha rechazado porque los atributos del mensaje no tenían un formato válido.
  • La métrica NumberOfNotificationsFilteredOut-MessageBody determina la cantidad de mensajes rechazados por las políticas de filtrado de suscripciones para el filtrado basado en la carga.
  • NumberOfNotificationsFilteredOut-InvalidMessageBody es el número de mensajes que las políticas de filtro de suscripciones han rechazado porque el cuerpo del mensaje no era válido para el filtrado. Por ejemplo, se han rechazado porque el cuerpo de un mensaje JSON no era válido.
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 5 meses