I'm trying to create a new aws glue connection. I'm using the boto3 script below. I'm able to connect with similar scripts and retrieve the structure of tables in data catalog databases. So I know the client is working. I know the availability zone is us-west-2 also. I copied the rest of the info from a glue connection I'd already created. I was just trying to test the boto3 script to see if I could create a connection through the script. Does anyone see what the issue might be? I'm trying to connect to a mysql database on an ec2 instance.
code:
# create new connection
response = client.create_connection(
ConnectionInput={
'Name': 'tst_scrpt',
'ConnectionType': 'JDBC',
'MatchCriteria': [
'string',
],
'ConnectionProperties': {
'string': 'jdbc:mysql://xxxxx:3306/disxxx',
'username':'root',
'password':'ipxxxxx'
},
'PhysicalConnectionRequirements': {
'SubnetId': 'subnet-04xxxxx',
'SecurityGroupIdList': [
'sg-xxxxx'
],
'AvailabilityZone': 'us-west-2'
}
}
)
error:
---------------------------------------------------------------------------
InvalidInputException Traceback (most recent call last)
<ipython-input-20-c3f33f9c9933> in <module>
18 'sg-xxxxx'
19 ],
---> 20 'AvailabilityZone': 'us-west-2'
21 }
22 }
/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