Amazon RDS MySQL
This page is for version 2025-09-18 (default).
For other versions, use one of these documentation indexes:
- 2025-09-18 (default): https://apidocs.polytomic.com/2025-09-18/llms.txt
- 2024-02-08: https://apidocs.polytomic.com/2024-02-08/llms.txt
- 2023-04-25: https://apidocs.polytomic.com/2023-04-25/llms.txt
- 2022-12-12: https://apidocs.polytomic.com/2022-12-12/llms.txt
- 2021-05-23: https://apidocs.polytomic.com/2021-05-23/llms.txt
Supports:
- ✅ Models
- ✅ Model sync destination
- ✅ Bulk sync source
- ✅ Bulk sync destination
Connection
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
change_detection | boolean | Use replication for bulk syncs Read changes from the binary log for bulk syncs. | optional |
database | string | Database (optional) Database to connect to. | optional |
hostname | string | Hostname used to connect to the Amazon RDS or Aurora MySQL database. | required |
iam_role_arn | string | IAM role ARN IAM role Polytomic assumes to sign database authentication tokens. | required |
port | integer | Port used to connect to the database. | required |
rds_endpoint_hostname | string | RDS endpoint hostname RDS hostname used to sign IAM tokens and verify the server certificate; defaults to hostname when omitted. | optional |
rds_endpoint_port | integer | RDS endpoint port RDS port used to sign IAM tokens; defaults to port when omitted. | optional |
region | string | AWS region of the RDS instance or Aurora cluster. | required |
ssh | boolean | Connect over SSH tunnel ↓ | optional |
tags | object | Tags Session tags applied when assuming the IAM role. | optional |
username | string | Username MySQL user that authenticates with IAM database authentication. | required |
| Read-only property | Type | Description |
|---|---|---|
external_id | string | External ID Polytomic presents when assuming the IAM role. |
ssh
When ssh is true:
| Name | Type | Description | Required |
|---|---|---|---|
ssh_host | string | SSH host | required |
ssh_port | integer | SSH port | required |
ssh_private_key | string | Private key | required |
ssh_user | string | SSH user | required |
{"name": "Amazon RDS MySQL connection","type": "amazon_rds_mysql","configuration": {"change_detection": false,"database": "sampledb","hostname": "database.123456789012.us-east-1.rds.amazonaws.com","iam_role_arn": "arn:aws:iam::123456789012:role/polytomic-rds","port": 3306,"rds_endpoint_hostname": "database.123456789012.us-east-1.rds.amazonaws.com","rds_endpoint_port": 3306,"region": "us-east-1","ssh": true,"ssh_host": "bastion.example.com","ssh_port": 22,"ssh_private_key": "","ssh_user": "root","tags": {},"username": "polytomic"}}
Example
{"name": "Amazon RDS MySQL connection","type": "amazon_rds_mysql","configuration": {"change_detection": false,"database": "sampledb","hostname": "database.123456789012.us-east-1.rds.amazonaws.com","iam_role_arn": "arn:aws:iam::123456789012:role/polytomic-rds","port": 3306,"rds_endpoint_hostname": "database.123456789012.us-east-1.rds.amazonaws.com","rds_endpoint_port": 3306,"region": "us-east-1","ssh": false,"tags": {},"username": "polytomic"}}
Model Sync
Source
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
query | string | optional | |
table | string | Table | optional |
view | string | View | optional |
Example
{..."configuration": {"query": "SELECT * from users","table": "users","view": "active_users"}}
Target
Amazon RDS MySQL connections may be used as the destination in a model sync.
All targets
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
created_column | string | ’Created at’ timestamp column | optional |
preserve_table_on_resync | boolean | Preserve destination table when resyncing | optional |
updated_column | string | ’Updated at’ timestamp column | optional |
write_null_values | boolean | Copy null values When enabled updates will set fields to NULL when the source value is null | optional |
write_record_timestamps | boolean | Write row timestamp metadata | optional |
Example
{..."target": {"configuration": {"created_column": "","preserve_table_on_resync": false,"updated_column": "","write_null_values": false,"write_record_timestamps": false}}}
Target creation
Amazon RDS MySQL connections may be used to create a new target for a model sync. The following parameters are required to create a new target:
| NAME | DESCRIPTION | ENUM |
|---|---|---|
| name | Table name | false |
Bulk Sync
Source
Amazon RDS MySQL connections may be used as a bulk sync source. No additional configuration options are required.
Destination
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
advanced | object | optional | |
mirror_schemas | boolean | Mirror databases | optional |
schema | string | Output database | optional |
Advanced configuration (advanced)
| Name | Type | Description | Required |
|---|---|---|---|
empty_strings_null | boolean | Write empty strings as null | optional |
hard_deletes | boolean | Propagate hard deletes instead of soft deletes | optional |
initial_execution | string | On first sync | optional |
table_prefix | string | Prefix table names with | optional |
truncate_existing | boolean | Truncate destination table when source table does not have a primary key | optional |
Example
{..."destination_configuration": {"advanced": {"empty_strings_null": true,"hard_deletes": false,"initial_execution": "rebuild","table_prefix": "","truncate_existing": false},"mirror_schemas": false,"schema": "schema"}}
Type handling
Destination types
| POLYTOMIC TYPE | AMAZON RDS MYSQL TYPE |
|---|---|
array<> | JSON |
bigint | BIGINT |
boolean | BOOLEAN |
date | DATE |
datetime | DATETIME |
decimal(precision, scale) | DECIMAL(precision,scale) |
double | DOUBLE |
int | INT |
json | JSON |
jsonarray | JSON |
number | DECIMAL(65,30) |
object{} | JSON |
single | FLOAT |
smallint | SMALLINT |
string | LONGTEXT |
time | TIME |
Source types
| AMAZON RDS MYSQL TYPE | POLYTOMIC TYPE |
|---|---|
BIGINT | bigint |
BIGINT UNSIGNED | decimal(precision, scale) |
BIT | number |
BLOB | binary |
BLOB | string |
CHAR | string |
DATE | date |
DATETIME | datetime |
DECIMAL(precision, scale) | decimal(precision, scale) |
DOUBLE | double |
ENUM | string |
FLOAT | single |
INT | int |
INT UNSIGNED | bigint |
MEDIUMBLOB | binary |
MEDIUMINT | int |
MEDIUMINT UNSIGNED | int |
MEDIUMTEXT | string |
NUMERIC(precision, scale) | decimal(precision, scale) |
SMALLINT | smallint |
SMALLINT UNSIGNED | int |
TEXT | string |
TIME | time |
TIMESTAMP | datetime |
TINYBLOB | binary |
TINYINT | smallint |
TINYINT UNSIGNED | smallint |
TINYTEXT | string |
UNSIGNED BIGINT | decimal(precision, scale) |
UNSIGNED INT | bigint |
UNSIGNED MEDIUMINT | int |
UNSIGNED SMALLINT | int |
UNSIGNED TINYINT | smallint |
VARBINARY | binary |
VARCHAR | string |
YEAR | int |
