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

Alex
已提问 1 年前1203 查看次数
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
专家
已回答 1 年前
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
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则