#django-rest-framework #boto3 #amazon-sns #botocore #python-phonenumber
Вопрос:
Я использую django-rest-sms-аутентификацию, которую предоставляют такие провайдеры, как Twilio, Мегафон, smsaero. Но я создал другого провайдера — Amazon SNS.
def send_amazon_sms(self): client = boto3.client('sns', aws_access_key_id=self.conf.SMS_PROVIDER_LOGIN, aws_secret_access_key=self.conf.SMS_PROVIDER_PASSWORD, region_name='eu-north-1') client.publish(PhoneNumber=str(self.to), Message=self.message) def send_sms(self): return self.send_amazon_sms() //but it returns: **botocore.exceptions.ParamValidationError: Parameter validation failed: Invalid type for parameter PhoneNumber, value: 996550102030, type: lt;class 'phonenumber_field.phonenumber.PhoneNumber'gt;, valid types: lt;class 'str'gt;**
Не могли бы вы мне помочь, почему myphone_num неверен? P.S. когда я запускаю это локально с моими учетными данными и номером телефона в виде отдельного файла python, все работает нормально
Комментарии:
1. Что такое
self.to
?2. @Marcin, это номер телефона от моего
@app.task def send_sms_async(identifier: int): code_instance = PhoneCode.objects.filter(pk=identifier).first() if code_instance: provider_class = get_provider_class() provider = provider_class( to=code_instance.phone_number, message=code_instance.message, conf=conf ) provider.send_sms()