Amazon SNS의 구독 필터 정책 문제를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Simple Notification Service(SNS) 구독 필터 정책이 작동하지 않습니다.

해결 방법

중요: 구독 필터 정책에 추가 및 변경 사항이 완전히 적용되려면 최대 15분이 걸립니다.

구독에서 메시지를 수락하려면 다음 조건을 충족해야 합니다.

  • 필터 정책 범위를 MessageAttributes로 설정할 때 필터 정책의 각 속성 이름이 메시지 속성 이름과 일치해야 합니다. 필터 정책에 일치하는 각 속성 이름의 속성 값 최소 한 개가 메시지 속성 값과 일치해야 합니다.
  • 필터 정책 범위를 MessageBody로 설정할 때 필터 정책의 각 속성 이름이 메시지 본문 속성 이름과 일치해야 합니다. 필터 정책에 일치하는 각 속성 이름의 속성 값 최소 한 개가 메시지 본문 속성 값과 일치해야 합니다.

메시지에 속성이 포함되지 않아 필터 정책에서 거부되었는지 확인합니다. 속성 기반 메시지 필터링에서 Amazon SNS용 Amazon CloudWatch 지표에서 NumberOfNotificationsFilteredOut-NoMessageAttributes 지표를 검토합니다.

자세한 내용은 Amazon SNS 메시지 필터링을 참고하세요.

속성을 포함한 메시지를 보내는 방법에 관한 튜토리얼은 AWS Management Console을 사용해 Amazon SNS 토픽에 메시지를 게시하는 방법을 참고하십시오 .

페이로드 기반 필터링을 사용해 메시지를 보내는 방법에 관한 튜토리얼은 플랫폼별 페이로드를 사용해 게시를 참고하세요.

Amazon SNS 토픽에 게시된 메시지가 필터 정책 제약 필수 조건을 충족하는지 확인합니다.

제약 조건 전체 목록을 보려면 필터 정책 제약조건을 참고하세요.

구독 필터 정책이 속성 기반 필터링이나 페이로드 기반 필터링을 기반으로 올바르게 구성되었는지 확인합니다.

메시지에 MessageAttributes 필드가 포함된 경우, FilterPolicy를 설정한 토픽 구독이 메시지를 선택적으로 수락하거나 거부할 수 있습니다. 이를 설정하려면 구독에서 FilterPolicyScopeMessageAttributes로 설정해야 합니다.

마찬가지로 구독에서 FilterPolicyScopeMessageBody로 설정하면 FilterPolicy를 포함하는 토픽 구독이 선별적으로 메시지를 수락하거나 거부할 수 있습니다.

올바른 필터 정책 형식에 관한 자세한 내용은 다음 설명서를 참고하세요.

속성이 일치하지 않거나 형식이 잘못되어 필터 정책에 따라 거부된 메시지를 확인하려면 다음 Amazon SNS용 CloudWatch 지표를 검토하세요.

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

참고:

  • NumberOfNotificationsFilteredOut 지표는 메시지 속성과 정책 속성과 일치하지 않아 필터 정책에 따라 거부된 메시지를 보여줍니다.
  • NumberOfNotificationsFilteredOut-InvalidAttributes 지표는 메시지 속성이 올바르지 않은 형식이라서 필터 정책에 따라 거부된 메시지를 보여 줍니다.
  • NumberOfNotificationsFilteredOut-MessageBody 지표는 페이로드 기반 필터링의 구독 필터 정책에 따라 거부된 메시지 수를 결정합니다.
  • NumberOfNotificationsFilteredOut-InvalidMessageBody는 메시지 본문이 필터링에 유효하지 않아 구독 필터 정책에 따라 거부된 메시지 수입니다. 예를 들어 유효하지 않은 JSON 메시지 본문이 있어 거부될 수 있습니다.
AWS 공식
AWS 공식업데이트됨 7달 전