TL; DR Не нужно указывать транзакционный / рекламный тип сообщения на лету (в качестве параметра) без необходимости каждый раз устанавливать атрибуты сообщения.
Итак, я хочу отправить OTP клиенту, используя amazon SNS, и это код для следующего:
import boto3
client = boto3.client('sns')
response = client.publish(
PhoneNumber='some_phone_number',
Message='some_message'
)
Согласно их документации , существует 2 типа сообщений:
1. Транзакционный (доставка, критичная ко времени)
2. Рекламный (доставка, не критичная ко времени и экономически эффективная)
У меня есть возможность установить атрибуты сообщения по умолчанию с помощью set_sms_attributes()
следующим образом:
client.set_sms_attributes(
attributes={"DefaultSMSType": "Transactional" | "Promotional" }
)
Я не хочу продолжать изменять этот параметр, поскольку они являются значениями по умолчанию.Я не хочу указывать тип сообщения на лету в качестве параметра в publish()
Я проверил MessageAttributes
, но согласно их документам , это неукажите тип сообщения, но он содержит метаданные для обработки сообщения клиентом перед его обработкой.
Существует ли способ переключать тип сообщения на лету, не устанавливая его в настройках по умолчанию, используя set_sms_attributes