SNS block send SMS for specific countries

0

Is it possible to block countries for SMS sending in SMS settings (SNS service).

Example - Russia and Belarus

2개 답변
0

Hi,

you can look into SNS subscription filter policies: https://docs.aws.amazon.com/sns/latest/dg/sns-subscription-filter-policies.html.

You could have a filter policy that prevents messages to be forwarded if the a country field is from one of those ones. https://docs.aws.amazon.com/sns/latest/dg/example-filter-policies.html

Hope it helps ;)

profile picture
전문가
답변함 일 년 전
0

as i know

https://docs.aws.amazon.com/sns/latest/dg/example-filter-policies.html

filter policies can block messages but these filters cannot be used to block messages according to country

but you can implement country-based restrictions in your application code or by using an external service.

example

import phonenumbers

def is_restricted_country(phone_number, restricted_countries):
    parsed_number = phonenumbers.parse(phone_number)
    country_code = phonenumbers.region_code_for_country_code(parsed_number.country_code)
    return country_code in restricted_countries

import boto3

def send_sms(phone_number, message):
    if not is_restricted_country(phone_number, restricted_countries):
        sns_client = boto3.client('sns')
        response = sns_client.publish(
            PhoneNumber=phone_number,
            Message=message
        )
        print(f"SMS sent to {phone_number}. Response: {response}")
    else:
        print(f"SMS not sent. {phone_number} belongs to a restricted country.")

profile picture
전문가
답변함 일 년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠