README.md in embulk-output-redshift-0.6.1 vs README.md in embulk-output-redshift-0.6.2

- old
+ new

@@ -3,28 +3,32 @@ Redshift output plugins for Embulk loads records to Redshift. ## Overview * **Plugin type**: output -* **Load all or nothing**: depnds on the mode. see below. -* **Resume supported**: depnds on the mode. see below. +* **Load all or nothing**: depends on the mode. see below. +* **Resume supported**: depends on the mode. see below. ## Configuration - **host**: database host name (string, required) - **port**: database port number (integer, default: 5439) - **user**: database login user name (string, required) +- **ssl**: use SSL to connect to the database (string, default: "disable". "enable" uses SSL without server-side validation and "verify" checks the certificate. For compatibility reasons, "true" behaves as "enable" and "false" behaves as "disable".) - **password**: database login password (string, default: "") - **database**: destination database name (string, required) - **schema**: destination schema name (string, default: "public") - **table**: destination table name (string, required) - **access_key_id**: access key id for AWS - **secret_access_key**: secret access key for AWS - **iam_user_name**: IAM user name for uploading temporary files to S3. The user should have permissions of `s3:GetObject`, `s3:PutObject`, `s3:DeleteObject`, , `s3:ListBucket` and `sts:GetFederationToken`. (string, default: "", but we strongly recommend that you use IAM user for security reasons. see below.) - **s3_bucket**: S3 bucket name for temporary files - **s3_key_prefix**: S3 key prefix for temporary files (string, default:"") - **options**: extra connection properties (hash, default: {}) +- **retry_limit** max retry count for database operations (integer, default: 12) +- **retry_wait** initial retry wait time in milliseconds (integer, default: 1000 (1 second)) +- **max_retry_wait** upper limit of retry wait, which will be doubled at every retry (integer, default: 1800000 (30 minutes)) - **mode**: "insert", "insert_direct", "truncate_insert", "replace" or "merge". See below. (string, required) - **merge_keys**: key column names for merging records in merge mode (string array, required in merge mode) - **batch_size**: size of a single batch insert (integer, default: 16777216) - **default_timezone**: If input column type (embulk type) is timestamp, this plugin needs to format the timestamp into a SQL string. This default_timezone option is used to control the timezone. You can overwrite timezone for each columns using column_options option. (string, default: `UTC`) - **column_options**: advanced: a key-value pairs where key is a column name and value is options for the column. @@ -98,10 +102,11 @@ ```yaml out: type: redshift host: myinstance.us-west-2.redshift.amazonaws.com user: pg + ssl: enable password: "" database: my_database table: my_table access_key_id: ABCXYZ123ABCXYZ123 secret_access_key: AbCxYz123aBcXyZ123 @@ -118,12 +123,12 @@ ``` ### Build ``` -$ ./gradlew gem +$ ../gradlew gem ``` ### Security This plugin requires AWS access credentials so that it may write temporary files to S3. There are two security options, Standard and Federated. To use Standard security, give **aws_key_id** and **secret_access_key**. To use Federated mode, also give the **iam_user_name** field. -Federated mode really means temporary credentials, so that a man-in-the-middle attack will see AWS credentials that are only valid for 1 calendar day after the transaction. \ No newline at end of file +Federated mode really means temporary credentials, so that a man-in-the-middle attack will see AWS credentials that are only valid for 1 calendar day after the transaction.