redshiftsql
####A simple command line batch processing tool for Redshift SQL
This tool accepts either a Redshift username and password OR an AWS Access Key ID and Secret Key.
If you use the IAM Access/Secret method, the user that you are referencing MUST have the correct policy to get temporary credentials from the database. For example:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "redshift:GetClusterCredentials",
"Resource": [
"arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user",
"arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/dev_database"
]
}
}
###Usage
python -m redshiftsql host dbname user file --password password --port port
OR
python -m redshiftsql host dbname user file --aws-access-key-id aws-access-key-id --aws-secret-key aws-secret-key --cluster-name cluster-name --port port
###Arguments
- host The Redshift endpoint, minus the port
- dbname The Redshift database to connect to
- user The Redshift user
- password The Redshift password. Ignored if aws-access-key-id is present
- port The port on the host. Defaults to 5439
- region The region that the Redshift cluster is in. Defaults to us-east-1
- file The file to read the SQL commands from
- aws-access-key-id The AWS Access Key ID for the IAM user to obtain temporary credentials
- aws-secret-key The AWS Secret Key for the IAM user to obtain temporary credentials
- cluster-name The Redshift cluster name to obtain temporary credentials from