Указание свойств соединения при создании нового соединения в Boto3 - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать соединение, используя скрипт python boto3. Это соединение с базой данных mysql в экземпляре ec2. Я использую скрипт ниже. Я получаю сообщение об ошибке ниже. Я не уверен, что мне не хватает. Я использовал подобные скрипты для создания сканеров клея без проблем. Я в значительной степени следую документации по boto3, за исключением того, что я добавил имя пользователя и пароль в ConnectionProperties. Я не уверен, что это правильно. Может кто-нибудь, пожалуйста, дайте мне знать, если я делаю это правильно, или что мне нужно исправить в моем коде?

код:

# create new connection

response = client.create_connection(
    ConnectionInput={
        'Name': 'tst_scrpt',
        'ConnectionType': 'JDBC',


        'ConnectionProperties': {
            'string': 'jdbc:mysql://dataxxx:3306/disxxx',
            'username':'root',
            'password':'ip1k5PNCxxxxx'
        }
        ,
        'PhysicalConnectionRequirements': {
            'SubnetId': 'subnet-0436167b7cbxxxx',
            'SecurityGroupIdList': [
                'sg-02c3f45ce51exxxxx'
            ]

        }
    }
)

Ошибка:

---------------------------------------------------------------------------
InvalidInputException                     Traceback (most recent call last)
<ipython-input-18-6ac0bdcfa816> in <module>
     16             'SubnetId': 'subnet-0436167b7cbxxxx',
     17             'SecurityGroupIdList': [
---> 18                 'sg-02c3f45ce51exxxxx'
     19             ]
     20 #             ,

/anaconda3/envs/py36/lib/python3.6/site-packages/botocore/client.py in _api_call(self, *args, **kwargs)
    355                     "%s() only accepts keyword arguments." % py_operation_name)
    356             # The "self" in this scope is referring to the BaseClient.
--> 357             return self._make_api_call(operation_name, kwargs)
    358 
    359         _api_call.__name__ = str(py_operation_name)

/anaconda3/envs/py36/lib/python3.6/site-packages/botocore/client.py in _make_api_call(self, operation_name, api_params)
    659             error_code = parsed_response.get("Error", {}).get("Code")
    660             error_class = self.exceptions.from_code(error_code)
--> 661             raise error_class(parsed_response, operation_name)
    662         else:
    663             return parsed_response

InvalidInputException: An error occurred (InvalidInputException) when calling the CreateConnection operation: Validation for connection properties failed

1 Ответ

0 голосов
/ 29 октября 2019

Я неправильно указал свойства подключения. замените «строку» на «JDBC_CONNECTION_URL». Коррекция ниже.

'ConnectionProperties': {
            'JDBC_CONNECTION_URL': 'jdbc:mysql://dataxxx:3306/disxxx',
            'username':'root',
            'password':'ip1k5PNCxxxxx'
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...