Skip to content

Redshift COPY ShellCommandActivity command PGPASSFILE

Posted on:2019年3月5日 at 00:00

ShellCommandActivity command

DBHOST=xxxxxxxxxxxxxx.ap-xxxxxx.redshift.amazonaws.com
DBPORT=5439
DBNAME=xxxx
DBUSER=xxxxxx
DBPASS=xxxxxxxxx
S3PATH=s3://uploads/file.csv

AWS_ACCESS_KEY_ID=xxxxxxxx
AWS_SECRET_ACCESS_KEY=xxxxxxxxxx

cat >$PGPASSFILE << EOF
$DBHOST:$DBPORT:$DBNAME:$DBUSER:$DBPASS
EOF

at > $cmds << EOF
copy $DBSTAGEINGTABLE from '$S3PATH' CREDENTIALS 'aws_access_key_id=$AWS_ACCESS_KEY_ID;aws_secret_access_key=$AWS_SECRET_ACCESS_KEY' CSV DELIMITER ',' MAXERROR 100000 IGNOREHEADER 1 TIMEFORMAT AS 'auto';
EOF
  psql -d $DBNAME -h $DBHOST -p $DBPORT -U $DBUSER -f $cmds

注意点とか

参考

Scheduled Copy of Data from Amazon S3 to Amazon Redshift Using AWS Data Pipeline