Получение сообщения «botocore.exceptions.ParamValidationError: Ошибка проверки параметра» при отправке SMS на python - PullRequest
0 голосов
/ 22 января 2020

Я работаю над кодом, который отправляет текстовые сообщения из банкомата, когда они go превышают £ 200, однако, когда я запускаю код, я получаю сообщение об ошибке

botocore.exceptions. ParamValidationError: Ошибка проверки параметра: Неизвестный параметр во входных данных: «PhoneNumber», должен быть одним из: TopicArn, TargetArn, Message, Subject, MessageStructure, MessageAttributes

мой код:

import boto3
client = boto3.client('sns','eu-west-1')
client.publish(PhoneNumber='+44XXXXXXXXXX', Message= 'Hello')

Где X ссылается на номер телефона

Ответы [ 2 ]

1 голос
/ 25 января 2020

Я изучил ваш Python фрагмент кода и могу в меру своих сил подтвердить, что с вашим кодом и его структурой нет ничего плохого.

Из-за ошибки проблема больше связана с версия boto3, т.е. вы, скорее всего, используете более старую версию boto3, поэтому старая версия не может подобрать требуемый параметр "PhoneNumber"

Разрешение Шаги:

1. Проверьте текущую версию boto3:

pip show boto3

или

>>> import boto3
>>> boto3.__version__

Если выходной сигнал меньше текущей версии (1.11.9), перейдите к обновите версию boto3, как показано ниже.

2. Обновите ваш boto3:

pip install botocore --upgrade
pip install boto3 --upgrade

Примечание. Чтобы изменения вступили в силу, вам необходимо выйти из системы

Надеюсь, это поможет!

0 голосов
/ 22 января 2020

При локальном запуске с моими учетными данными и номером телефона, сообщение отправляется без проблем -

import boto3

sns = boto3.client('sns', region_name='eu-west-1',
                   aws_access_key_id='xxxx',
                   aws_secret_access_key='xxxxx',
                   aws_session_token='xxxxx')
sns.publish(PhoneNumber='+44xxxxxxxxxx', Message= 'Hello')
...