Amazon Aurora
This is the implementation of the Amazon Aurora handler for MindsDB.
Amazon Aurora is a fully managed relational database engine that’s compatible with MySQL and PostgreSQL.
Implementation
This handler was implemented using the existing MindsDB handlers for MySQL and PostgreSQL.
The required arguments to establish a connection are as follows:
host
: the host name or IP address of the Amazon Aurora DB cluster.port
: the TCP/IP port of the Amazon Aurora DB cluster.user
: the username used to authenticate with the Amazon Aurora DB cluster.password
: the password to authenticate the user with the Amazon Aurora DB cluster.database
: the database name to use when connecting with the Amazon Aurora DB cluster.
There optional arguments that can be used are as follows:
db_engine
: the database engine of the Amazon Aurora DB cluster. This can take one of two values: ‘mysql’ or ‘postgresql’. This parameter is optional, but if it is not provided,aws_access_key_id
andaws_secret_access_key
parameters must be provided.aws_access_key_id
: the access key for the AWS account. This parameter is optional and is only required to be provided if thedb_engine
parameter is not provided.aws_secret_access_key
: the secret key for the AWS account. This parameter is optional and is only required to be provided if thedb_engine
parameter is not provided.
If you installed MindsDB locally via pip, you need to install all handler dependencies manually. To do so, go to the handler’s folder (mindsdb/integrations/handlers/aurora_handler) and run this command: pip install -r requirements.txt
.
Usage
In order to make use of this handler and connect to an Amazon Aurora MySQL DB Cluster in MindsDB, the following syntax can be used:
CREATE DATABASE aurora_mysql_datasource
WITH
engine = 'aurora',
parameters = {
"db_engine": "mysql",
"host": "mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com",
"port": 3306,
"user": "admin",
"password": "password",
"database": "example_db"
};
Now, you can use this established connection to query your database as follows:
SELECT *
SELECT * FROM aurora_mysql_datasource.example_table;
Similar commands can be used to establish a connection and query Amazon Aurora PostgreSQL DB Cluster:
CREATE DATABASE aurora_postgres_datasource
WITH
engine = 'aurora',
parameters = {
"db_engine": "postgresql",
"host": "postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com",
"port": 5432,
"user": "postgres",
"password": "password",
"database": "example_db "
};
SELECT * FROM aurora_postgres_datasource.example_table
If you want to switch to different database, you can include it in your query as:
SELECT *
FROM aurora_datasource.new_database.example_table;