Come posso risolvere i problemi relativi alle policy di filtro per le sottoscrizioni in Amazon SNS?

3 minuti di lettura
0

La policy di filtro per le sottoscrizioni Amazon Simple Notification Service (Amazon SNS) non funziona.

Risoluzione

Importante: le aggiunte o le modifiche a una policy di filtro per le sottoscrizioni richiedono fino a 15 minuti per entrare in funzione.

Una sottoscrizione accetta un messaggio solo alle seguenti condizioni:

  • Quando imposti l'ambito della policy di filtro su MessageAttributes, ogni nome proprietà nella policy di filtro corrisponde a un nome attributo del messaggio. Per ogni nome proprietà corrispondente nella policy di filtro, almeno un valore della proprietà corrisponde al valore dell'attributo del messaggio.
  • Quando imposti l'ambito della policy di filtro su MessageBody, ogni nome proprietà nella policy di filtro corrisponde a un nome proprietà nel corpo del messaggio. Per ogni nome proprietà corrispondente nella policy di filtro, almeno un valore della proprietà corrisponde al valore della proprietà nel corpo del messaggio

Verifica se la policy di filtro ha rifiutato i messaggi perché non includevano attributi. Per il filtraggio dei messaggi basato sugli attributi, rivedi il parametro NumberOfNotificationsFilteredOut-NoMessageAttributes in Parametri Amazon CloudWatch per Amazon SNS.

Per ulteriori informazioni, consulta la sezione Filtraggio messaggi di Amazon SNS.

Per un tutorial su come inviare messaggi con attributi, consulta la sezione Pubblicare messaggi su argomenti Amazon SNS utilizzando la console di gestione AWS.

Per un tutorial su come inviare messaggi con filtri basati su payload, consulta la sezione Pubblicazione con payload specifico della piattaforma

Verifica che i messaggi pubblicati sull'argomento Amazon SNS soddisfino i vincoli richiesti per la policy di filtro

Per un elenco completo delle restrizioni, consulta la sezione Vincoli delle policy di filtro.

Verifica che la policy di filtro per le sottoscrizioni sia configurata correttamente in base al filtraggio basato su Attributi o al filtraggio basato su Payload

Se il messaggio include il campo MessageAttributes, qualsiasi sottoscrizione all'argomento che imposti una FilterPolicy può accettare o rifiutare selettivamente il messaggio. A tale scopo, nella sottoscrizione devi inoltre impostare FilterPolicyScope su MessageAttributes.

Allo stesso modo, qualsiasi sottoscrizione all'argomento che includa una FilterPolicy può accettare o rifiutare selettivamente il messaggio quando nella sottoscrizione imposti FilterPolicyScope su MessageBody.

Per ulteriori informazioni sui formati corretti per le policy di filtro, consulta la seguente documentazione:

Per visualizzare i messaggi che la policy di filtro ha rifiutato a causa di attributi non corrispondenti o formattati in modo errato, consulta i seguenti parametri di CloudWatch per Amazon SNS:

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

Nota:

  • Il parametro NumberOfNotificationsFilteredOut mostra i messaggi che la policy di filtro ha rifiutato perché gli attributi del messaggio non corrispondevano agli attributi della policy.
  • Il parametro NumberOfNotificationsFilteredOut-InvalidAttributes mostra i messaggi rifiutati dalla policy di filtro perché gli attributi del messaggio non erano in un formato valido.
  • Il parametro NumberOfNotificationsFilteredOut-MessageBody determina il numero di messaggi che sono stati rifiutati dalle policy di filtro per le sottoscrizioni per il filtraggio basato su payload.
  • Il parametro NumberOfNotificationsFilteredOut-InvalidMessageBody rappresenta il numero di messaggi che sono stati rifiutati dalle policy di filtro per le sottoscrizioni perché il corpo del messaggio non era valido per il filtraggio. Ad esempio, sono stati rifiutati a causa di un corpo del messaggio JSON non valido.
AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa