如何對 Amazon SNS 中的訂閱篩選條件政策問題進行疑難排解?

1 分的閱讀內容
0

我的 Amazon Simple Notification Service (Amazon SNS) 訂閱篩選條件沒有作用。

解決方案

重要: 新增或變更訂閱篩選條件政策需要最多 15 分鐘才能生效。

訂閱僅在以下條件中接受訊息:

  • 當您將篩選條件政策範圍設定為 MessageAttributes 時,篩選條件政策中的每個屬性即會符合訊息屬性名稱。對於篩選條件政策中每個相符的屬性名稱,至少有一個屬性質符合訊息屬性值。
  • 當您將篩選條件政策範圍設定為 MessageBody 時,篩選條件政策中的每個屬性即會符合訊息內文屬性名稱。對於篩選條件政策中每個相符的屬性名稱,至少有一個屬性質符合訊息內文屬性值

檢查您的篩選條件政策是否因訊息不包括屬性而拒絕接受。如需屬性型訊息篩選的資訊,請檢閱適用於 Amazon SNS 的 Amazon CloudWatch 指標中的 NumberOfNotificationsFilteredOut-NoMessageAttributes 指標。

如需詳細資訊,請參閱 Amazon SNS 訊息篩選

如需如何傳送具有屬性之訊息的教學課程,請參閱使用 AWS 管理主控台向 Amazon SNS 主題發佈訊息

如需如何使用承載型篩選傳送訊息的教學課程,請參閱使用平台特定承載發佈

確認發佈到 Amazon SNS 主題的訊息符合必要的篩選條件政策限制

如需完整的限制清單,請參閱篩選條件政策限制

確認您的訂閱篩選條件政策已根據屬性型篩選或承載型篩選正確設定

如果訊息包括 MessageAttributes 欄位,則任何設定 FilterPolicy 的主題訂閱都可以選擇性地接受或拒絕訊息。若要這麼做,您也必須在訂閱中將 FilterPolicyScope 設定為 MessageAttributes

同樣地,當您在訂閱中將 FilterPolicyScope 設定為 MessageBody 時,任何包括 FilterPolicy 的主題訂閱都可以選擇性地接受或拒絕訊息。

如需正確篩選條件政策格式的詳細資訊,請參閱以下文件:

若要查看篩選器政策因屬性不符或格式錯誤而拒絕的訊息,請檢閱下列適用於 Amazon SNS 的 CloudWatch 指標

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

注意:

  • NumberOfNotificationsFilteredOut 指標顯示篩選條件政策因訊息屬性與政策屬性不符而拒絕的訊息。
  • NumberOfNotificationsFilteredOut-InvalidAttributes 指標顯示篩選條件政策因訊息屬性格式無效而拒絕的訊息。
  • NumberOfNotificationsFilteredOut-MessageBody 指標決定承載型篩選之訂閱篩選條件政策拒絕的訊息數量。
  • NumberOfNotificationsFilteredOut-InvalidMessageBody 是訂閱篩選條件政策因訊息內容篩選無效而拒絕的訊息數量。例如,它們因無效的 JSON 訊息內文而遭到拒絕。
AWS 官方
AWS 官方已更新 7 個月前