AWS::DMS::Endpoint RedshiftSettings
Provides information that defines an Amazon Redshift endpoint. This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For more information about other available settings, see Extra connection attributes when using Amazon Redshift as a target for AWS DMS in the AWS Database Migration Service User Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "AcceptAnyDate" :
Boolean
, "AfterConnectScript" :String
, "BucketFolder" :String
, "BucketName" :String
, "CaseSensitiveNames" :Boolean
, "CompUpdate" :Boolean
, "ConnectionTimeout" :Integer
, "DateFormat" :String
, "EmptyAsNull" :Boolean
, "EncryptionMode" :String
, "ExplicitIds" :Boolean
, "FileTransferUploadStreams" :Integer
, "LoadTimeout" :Integer
, "MapBooleanAsBoolean" :Boolean
, "MaxFileSize" :Integer
, "RemoveQuotes" :Boolean
, "ReplaceChars" :String
, "ReplaceInvalidChars" :String
, "SecretsManagerAccessRoleArn" :String
, "SecretsManagerSecretId" :String
, "ServerSideEncryptionKmsKeyId" :String
, "ServiceAccessRoleArn" :String
, "TimeFormat" :String
, "TrimBlanks" :Boolean
, "TruncateColumns" :Boolean
, "WriteBufferSize" :Integer
}
YAML
AcceptAnyDate:
Boolean
AfterConnectScript:String
BucketFolder:String
BucketName:String
CaseSensitiveNames:Boolean
CompUpdate:Boolean
ConnectionTimeout:Integer
DateFormat:String
EmptyAsNull:Boolean
EncryptionMode:String
ExplicitIds:Boolean
FileTransferUploadStreams:Integer
LoadTimeout:Integer
MapBooleanAsBoolean:Boolean
MaxFileSize:Integer
RemoveQuotes:Boolean
ReplaceChars:String
ReplaceInvalidChars:String
SecretsManagerAccessRoleArn:String
SecretsManagerSecretId:String
ServerSideEncryptionKmsKeyId:String
ServiceAccessRoleArn:String
TimeFormat:String
TrimBlanks:Boolean
TruncateColumns:Boolean
WriteBufferSize:Integer
Properties
AcceptAnyDate
-
A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose
true
orfalse
(the default).This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.
Required: No
Type: Boolean
Update requires: No interruption
AfterConnectScript
-
Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.
Required: No
Type: String
Update requires: No interruption
BucketFolder
-
An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster.
For full load mode, AWS DMS converts source records into .csv files and loads them to the BucketFolder/TableID path. AWS DMS uses the Redshift
COPY
command to upload the .csv files to the target table. The files are deleted once theCOPY
operation has finished. For more information, see COPY in the Amazon Redshift Database Developer Guide.For change-data-capture (CDC) mode, AWS DMS creates a NetChanges table, and loads the .csv files to this BucketFolder/NetChangesTableID path.
Required: No
Type: String
Update requires: No interruption
BucketName
-
The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.
Required: No
Type: String
Update requires: No interruption
CaseSensitiveNames
-
If Amazon Redshift is configured to support case sensitive schema names, set
CaseSensitiveNames
totrue
. The default isfalse
.Required: No
Type: Boolean
Update requires: No interruption
CompUpdate
-
If you set
CompUpdate
totrue
Amazon Redshift applies automatic compression if the table is empty. This applies even if the table columns already have encodings other thanRAW
. If you setCompUpdate
tofalse
, automatic compression is disabled and existing column encodings aren't changed. The default istrue
.Required: No
Type: Boolean
Update requires: No interruption
ConnectionTimeout
-
A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.
Required: No
Type: Integer
Update requires: No interruption
DateFormat
-
The date format that you are using. Valid values are
auto
(case-sensitive), your date format string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Usingauto
recognizes most strings, even some that aren't supported when you use a date format string.If your date and time values use formats different from each other, set this to
auto
.Required: No
Type: String
Update requires: No interruption
EmptyAsNull
-
A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of
true
sets empty CHAR and VARCHAR fields to null. The default isfalse
.Required: No
Type: Boolean
Update requires: No interruption
EncryptionMode
-
The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either
SSE_S3
(the default) orSSE_KMS
.Note
For the
ModifyEndpoint
operation, you can change the existing value of theEncryptionMode
parameter fromSSE_KMS
toSSE_S3
. But you can’t change the existing value fromSSE_S3
toSSE_KMS
.To use
SSE_S3
, create an AWS Identity and Access Management (IAM) role with a policy that allows"arn:aws:s3:::*"
to use the following actions:"s3:PutObject", "s3:ListBucket"
Required: No
Type: String
Allowed values:
sse-s3 | sse-kms
Update requires: No interruption
ExplicitIds
-
This setting is only valid for a full-load migration task. Set
ExplicitIds
totrue
to have tables withIDENTITY
columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default isfalse
.Required: No
Type: Boolean
Update requires: No interruption
FileTransferUploadStreams
-
The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10.
The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more information, see Multipart upload overview.
FileTransferUploadStreams
accepts a value from 1 through 64. It defaults to 10.Required: No
Type: Integer
Update requires: No interruption
LoadTimeout
-
The amount of time to wait (in milliseconds) before timing out of operations performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.
Required: No
Type: Integer
Update requires: No interruption
MapBooleanAsBoolean
-
When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as
varchar(1)
. You must set this setting on both the source and target endpoints for it to take effect.Required: No
Type: Boolean
Update requires: No interruption
MaxFileSize
-
The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).
Required: No
Type: Integer
Update requires: No interruption
RemoveQuotes
-
A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose
true
to remove quotation marks. The default isfalse
.Required: No
Type: Boolean
Update requires: No interruption
ReplaceChars
-
A value that specifies to replaces the invalid characters specified in
ReplaceInvalidChars
, substituting the specified characters instead. The default is"?"
.Required: No
Type: String
Update requires: No interruption
ReplaceInvalidChars
-
A list of characters that you want to replace. Use with
ReplaceChars
.Required: No
Type: String
Update requires: No interruption
SecretsManagerAccessRoleArn
-
The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in
SecretsManagerSecret
. The role must allow theiam:PassRole
action.SecretsManagerSecret
has the value of the AWS Secrets Manager secret that allows access to the Amazon Redshift endpoint.Note
You can specify one of two sets of values for these permissions. You can specify the values for this setting and
SecretsManagerSecretId
. Or you can specify clear-text values forUserName
,Password
,ServerName
, andPort
. You can't specify both.For more information on creating this
SecretsManagerSecret
, the correspondingSecretsManagerAccessRoleArn
, and theSecretsManagerSecretId
that is required to access it, see Using secrets to access AWS Database Migration Service resources in the AWS Database Migration Service User Guide.Required: No
Type: String
Update requires: No interruption
SecretsManagerSecretId
-
The full ARN, partial ARN, or display name of the
SecretsManagerSecret
that contains the Amazon Redshift endpoint connection details.Required: No
Type: String
Update requires: No interruption
ServerSideEncryptionKmsKeyId
-
The AWS KMS key ID. If you are using
SSE_KMS
for theEncryptionMode
, provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.Required: No
Type: String
Update requires: No interruption
ServiceAccessRoleArn
-
The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must allow the
iam:PassRole
action.Required: No
Type: String
Update requires: No interruption
TimeFormat
-
The time format that you want to use. Valid values are
auto
(case-sensitive),'timeformat_string'
,'epochsecs'
, or'epochmillisecs'
. It defaults to 10. Usingauto
recognizes most strings, even some that aren't supported when you use a time format string.If your date and time values use formats different from each other, set this parameter to
auto
.Required: No
Type: String
Update requires: No interruption
TrimBlanks
-
A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose
true
to remove unneeded white space. The default isfalse
.Required: No
Type: Boolean
Update requires: No interruption
TruncateColumns
-
A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose
true
to truncate data. The default isfalse
.Required: No
Type: Boolean
Update requires: No interruption
WriteBufferSize
-
The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS replication instance. The default value is 1000 (buffer size is 1000KB).
Required: No
Type: Integer
Update requires: No interruption