Como soluciono problemas de política de filtro de assinatura no Amazon SNS?

3 minuto de leitura
0

Minha política de filtro de assinatura do Amazon Simple Notification Service (Amazon SNS) não funciona.

Resolução

Importante: as adições ou alterações em uma política de filtro de assinatura demoram até 15 minutos para entrarem em vigor.

Uma assinatura só aceita uma mensagem sob as seguintes condições:

  • Quando você define o escopo da política de filtro como MessageAttributes, cada nome de propriedade na política de filtro corresponde a um nome de atributo de mensagem. Para cada nome de propriedade correspondente na política de filtro, pelo menos um valor de propriedade corresponde ao valor do atributo da mensagem.
  • Quando você define o escopo da política de filtro como MessageBody, cada nome de propriedade na política de filtro corresponde a um nome de propriedade do corpo da mensagem. Para cada nome de propriedade correspondente na política de filtro, pelo menos um valor de propriedade corresponde ao valor de propriedade do corpo da mensagem

Verifique se sua política de filtro rejeitou mensagens porque elas não incluíam atributos. Para filtragem de mensagens baseada em atributos, revise a métrica NumberOfNotificationsFilteredOut-NoMessageAttributes nas Métricas do Amazon CloudWatch para Amazon SNS.

Para obter mais informações, consulte Filtragem de mensagens do Amazon SNS.

Para obter um tutorial sobre como enviar mensagens com atributos, consulte Para publicar mensagens nos tópicos do Amazon SNS usando o AWS Management Console.

Para ver um tutorial sobre como enviar mensagens com filtragem baseada em carga útil, consulte Publicar com carga útil específica da plataforma

Verifique se as mensagens publicadas no seu tópico do Amazon SNS atendem às restrições de política de filtro necessárias

Para obter uma lista completa das restrições, consulte Restrições da política de filtro.

Verifique se sua política de filtro de assinatura está configurada corretamente com base na filtragem baseada em atributos ou na filtragem baseada em carga útil

Se a mensagem incluir o campo MessageAttributes, qualquer assinatura de tópico que defina uma FilterPolicy poderá aceitar ou rejeitar seletivamente a mensagem. Para fazer isso, você também deve definir FilterPolicyScope como MessageAttributes na assinatura.

Da mesma forma, qualquer assinatura de tópico que inclua uma FilterPolicy pode aceitar ou rejeitar seletivamente a mensagem quando você define FilterPolicyScope como MessageBody na assinatura.

Para obter mais informações sobre os formatos corretos de política de filtro, consulte a documentação a seguir:

Para ver as mensagens que sua política de filtro rejeitou devido a atributos incompatíveis ou formatados incorretamente, analise as seguintes Métricas do CloudWatch para o Amazon SNS:

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

Observação:

  • A métrica NumberOfNotificationsFilteredOut mostra as mensagens que sua política de filtro rejeitou porque os atributos da mensagem não correspondiam aos atributos da política.
  • A métrica NumberOfNotificationsFilteredOut-InvalidAttributes mostra mensagens que sua política de filtro rejeitou porque os atributos da mensagem não estavam em um formato válido.
  • A métrica NumberOfNotificationsFilteredOut-MessageBody determina o número de mensagens que foram rejeitadas pelas políticas de filtro de assinatura para filtragem baseada em carga útil.
  • O NumberOfNotificationsFilteredOut-InvalidMessageBody é o número de mensagens que foram rejeitadas pelas políticas de filtro de assinatura porque o corpo da mensagem não é válido para filtragem. Por exemplo, eles foram rejeitados por causa de um corpo de mensagem JSON que não era válido.
AWS OFICIAL
AWS OFICIALAtualizada há 9 meses