Amazon SNS のサブスクリプションフィルターポリシーの問題をトラブルシューティングするにはどうすればよいですか?

最終更新日: 2021 年 8 月 26 日

私の Amazon Simple Notification Service (Amazon SNS) サブスクリプションフィルターポリシーが機能していません。この問題をトラブルシューティングするにはどうすればよいですか?

解決方法

重要: サブスクリプションフィルターポリシーの追加または変更を有効にするには、最大 15 分かかります。

Amazon SNS トピックにパブリッシュされたメッセージにメッセージ属性が含まれていることを確認します。

サブスクリプションフィルターポリシーは、メッセージ本文ではなく、メッセージ属性のみをフィルタリングできます。メッセージで MessageAttributeValue を空のままにすると、フィルターポリシーはそのメッセージを拒否します。

属性が含まれていないためにフィルターポリシーでメッセージが拒否されたかどうかを確認するには、Amazon SNS の Amazon CloudWatch メトリクスで次のメトリクスを確認します。

NumberOfNotificationsFilteredOut-NoMessageAttributes

詳細については、「Amazon SNS メッセージフィルタリング」を参照してください。属性付きのメッセージを送信する方法のチュートリアルについては、「AWS マネジメントコンソールを使用して Amazon SNS トピックにメッセージをパブリッシュするには」を参照してください。

Amazon SNS トピックにパブリッシュされたメッセージが、必要なフィルターポリシーの制約を満たしていることを確認します。

制約の完全なリストについては、「ポリシーの制約のフィルタリング」を参照してください。

サブスクリプションフィルターポリシーの属性が正しく設定されていることを確認します。

サブスクリプションフィルターポリシーの属性を定義すると、サブスクリプションエンドポイントは、定義された属性を含むメッセージのみを受信します。詳細については、「属性文字列値の一致」および「属性数値の一致」を参照してください。

属性の不一致または不適切なフォーマットが原因でフィルターポリシーが拒否したメッセージを表示するには、次の Amazon SNS の CloudWatch メトリクスを確認します。

  • NumberOfNotificationsFilteredOut
  • NumberOfNotificationsFilteredOut-InvalidAttributes

注:numberOfNotificationsFilteredOut メトリクスは、メッセージ属性がポリシー属性と一致しなかったことが原因でフィルターポリシーが拒否したメッセージを表示します。numberOfNotificationsFilteredOut-InvalidAttributes メトリクスは、メッセージ属性が有効な形式ではなかったことが原因でフィルターポリシーが拒否したメッセージを表示します。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?