Ошибка кодирования AWS Boto3 BASE64 при вызове метода client.request_spot_instances

Я пытаюсь отправить запрос на экземпляр SP2 EC2, используя boto3 (Environment Python 3.5, Windows 7). Мне нужно передать параметр UserData для запуска начальных скриптов.

Ошибка, которую я получаю, – это файл «C: \ Users … \ Python \ Python35 \ lib \ site-packages \ botocore \ client.py», строка 222, в _make_api_call поднять ClientError (parsed_response, имя_операции) botocore.exceptions.ClientError: Произошла ошибка (InvalidParameterValue) при вызове операции RequestSpotInstances: Недопустимая кодировка данных BASE64. Код

Я следую этой документации https://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.request_spot_instances

Если я выберу параметр UserData, все будет хорошо.

Я пробовал разные способы передать параметр, но в итоге получаю аналогичные ошибки.

Boto 3 Script

client = session.client('ec2') myparam = str(base64.b64encode(bytes('yum install -y php', 'utf-8'))) response = client.request_spot_instances( SpotPrice='0.4', InstanceCount=1, Type='one-time', LaunchSpecification={ 'ImageId': 'ami-xxxxxx', 'KeyName': 'xxxxx', 'InstanceType': 't1.micro', 'UserData': myparam, 'Monitoring': { 'Enabled': True } }) 

One Solution collect form web for “Ошибка кодирования AWS Boto3 BASE64 при вызове метода client.request_spot_instances”

Я думаю, вы не должны преобразовать строку base64 в str . Вы используете Python 3?

Заменить:

 myparam = str(base64.b64encode(bytes('yum install -y php', 'utf-8'))) 

От:

 myparam = base64.b64encode(b'yum install -y php') 
Interesting Posts

Несколько профилей пользователей в django-userena

Математическая основа statsmodels wls_prediction_std

Результат SQLAlchemy для столбца UTF-8 имеет тип 'str', почему?

Почему существует ActivePython?

Оператор Modulo в Python

Различия между Framework и не-Framework-сборками Python в Mac OS X

Python Как получить значения, которые находятся в одном фрейме данных, но не в секундах

Как я могу регистрировать текущую строку и информацию о стеке с помощью Python?

Моя реализация слияния двух отсортированных списков в линейном времени – что можно улучшить?

Как может быть отказано в python 2 doctest и все же не имеет никакого значения в значениях в сообщении об ошибке?

трассировка стека из управляющего сервера.

«Ошибка сегментации» во время «импорта cv» в Mac OS

декоратор для установки атрибутов функции

Python: TypeError – не все аргументы, преобразованные во время форматирования строки

Использование Datetimes с Regplot для Seaborn's

Python - лучший язык программирования в мире.