Class CfnEndpoint.RedshiftSettingsProperty
Provides information that defines an Amazon Redshift endpoint.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.DMS
Assembly: Amazon.CDK.AWS.DMS.dll
Syntax (csharp)
public class RedshiftSettingsProperty : Object, CfnEndpoint.IRedshiftSettingsProperty
Syntax (vb)
Public Class RedshiftSettingsProperty
Inherits Object
Implements CfnEndpoint.IRedshiftSettingsProperty
Remarks
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 .
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.DMS;
var redshiftSettingsProperty = new RedshiftSettingsProperty {
AcceptAnyDate = false,
AfterConnectScript = "afterConnectScript",
BucketFolder = "bucketFolder",
BucketName = "bucketName",
CaseSensitiveNames = false,
CompUpdate = false,
ConnectionTimeout = 123,
DateFormat = "dateFormat",
EmptyAsNull = false,
EncryptionMode = "encryptionMode",
ExplicitIds = false,
FileTransferUploadStreams = 123,
LoadTimeout = 123,
MapBooleanAsBoolean = false,
MaxFileSize = 123,
RemoveQuotes = false,
ReplaceChars = "replaceChars",
ReplaceInvalidChars = "replaceInvalidChars",
SecretsManagerAccessRoleArn = "secretsManagerAccessRoleArn",
SecretsManagerSecretId = "secretsManagerSecretId",
ServerSideEncryptionKmsKeyId = "serverSideEncryptionKmsKeyId",
ServiceAccessRoleArn = "serviceAccessRoleArn",
TimeFormat = "timeFormat",
TrimBlanks = false,
TruncateColumns = false,
WriteBufferSize = 123
};
Synopsis
Constructors
RedshiftSettingsProperty() |
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. |
AfterConnectScript | Code to run after connecting. |
BucketFolder | An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster. |
BucketName | The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. |
CaseSensitiveNames | If Amazon Redshift is configured to support case sensitive schema names, set |
CompUpdate | If you set |
ConnectionTimeout | A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection. |
DateFormat | The date format that you are using. |
EmptyAsNull | A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. |
EncryptionMode | The type of server-side encryption that you want to use for your data. |
ExplicitIds | This setting is only valid for a full-load migration task. |
FileTransferUploadStreams | The number of threads used to upload a single file. |
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. |
MapBooleanAsBoolean |
|
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). |
RemoveQuotes | A value that specifies to remove surrounding quotation marks from strings in the incoming data. |
ReplaceChars | A value that specifies to replaces the invalid characters specified in |
ReplaceInvalidChars | A list of characters that you want to replace. |
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 |
SecretsManagerSecretId | The full ARN, partial ARN, or display name of the |
ServerSideEncryptionKmsKeyId | The AWS KMS key ID. |
ServiceAccessRoleArn | The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. |
TimeFormat | The time format that you want to use. |
TrimBlanks | A value that specifies to remove the trailing white space characters from a VARCHAR string. |
TruncateColumns | A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. |
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). |
Constructors
RedshiftSettingsProperty()
public RedshiftSettingsProperty()
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.
public object AcceptAnyDate { get; set; }
Property Value
System.Object
Remarks
You can choose true
or false
(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.
AfterConnectScript
Code to run after connecting.
public string AfterConnectScript { get; set; }
Property Value
System.String
Remarks
This parameter should contain the code itself, not the name of a file containing the code.
BucketFolder
An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster.
public string BucketFolder { get; set; }
Property Value
System.String
Remarks
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 the COPY
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.
BucketName
The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.
public string BucketName { get; set; }
Property Value
System.String
Remarks
CaseSensitiveNames
If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames
to true
.
public object CaseSensitiveNames { get; set; }
Property Value
System.Object
Remarks
CompUpdate
If you set CompUpdate
to true
Amazon Redshift applies automatic compression if the table is empty.
public object CompUpdate { get; set; }
Property Value
System.Object
Remarks
This applies even if the table columns already have encodings other than RAW
. If you set CompUpdate
to false
, automatic compression is disabled and existing column encodings aren't changed. The default is true
.
ConnectionTimeout
A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.
public Nullable<double> ConnectionTimeout { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
DateFormat
The date format that you are using.
public string DateFormat { get; set; }
Property Value
System.String
Remarks
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'. Using auto
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
.
EmptyAsNull
A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL.
public object EmptyAsNull { get; set; }
Property Value
System.Object
Remarks
A value of true
sets empty CHAR and VARCHAR fields to null. The default is false
.
EncryptionMode
The type of server-side encryption that you want to use for your data.
public string EncryptionMode { get; set; }
Property Value
System.String
Remarks
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) or SSE_KMS
.
For the ModifyEndpoint
operation, you can change the existing value of the EncryptionMode
parameter from SSE_KMS
to SSE_S3
. But you can’t change the existing value from SSE_S3
to SSE_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"
ExplicitIds
This setting is only valid for a full-load migration task.
public object ExplicitIds { get; set; }
Property Value
System.Object
Remarks
Set ExplicitIds
to true
to have tables with IDENTITY
columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is false
.
FileTransferUploadStreams
The number of threads used to upload a single file.
public Nullable<double> FileTransferUploadStreams { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
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.
public Nullable<double> LoadTimeout { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
MapBooleanAsBoolean
CfnEndpoint.RedshiftSettingsProperty.MapBooleanAsBoolean
.
public object MapBooleanAsBoolean { get; set; }
Property Value
System.Object
Remarks
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).
public Nullable<double> MaxFileSize { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
RemoveQuotes
A value that specifies to remove surrounding quotation marks from strings in the incoming data.
public object RemoveQuotes { get; set; }
Property Value
System.Object
Remarks
All characters within the quotation marks, including delimiters, are retained. Choose true
to remove quotation marks. The default is false
.
ReplaceChars
A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars
, substituting the specified characters instead.
public string ReplaceChars { get; set; }
Property Value
System.String
Remarks
ReplaceInvalidChars
A list of characters that you want to replace.
public string ReplaceInvalidChars { get; set; }
Property Value
System.String
Remarks
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
.
public string SecretsManagerAccessRoleArn { get; set; }
Property Value
System.String
Remarks
The role must allow the iam:PassRole
action. SecretsManagerSecret
has the value of the AWS Secrets Manager secret that allows access to the Amazon Redshift endpoint.
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 for UserName
, Password
, ServerName
, and Port
. You can't specify both.
For more information on creating this SecretsManagerSecret
, the corresponding SecretsManagerAccessRoleArn
, and the SecretsManagerSecretId
that is required to access it, see Using secrets to access AWS Database Migration Service resources in the AWS Database Migration Service User Guide .
SecretsManagerSecretId
The full ARN, partial ARN, or display name of the SecretsManagerSecret
that contains the Amazon Redshift endpoint connection details.
public string SecretsManagerSecretId { get; set; }
Property Value
System.String
Remarks
ServerSideEncryptionKmsKeyId
The AWS KMS key ID.
public string ServerSideEncryptionKmsKeyId { get; set; }
Property Value
System.String
Remarks
If you are using SSE_KMS
for the EncryptionMode
, provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.
ServiceAccessRoleArn
The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service.
public string ServiceAccessRoleArn { get; set; }
Property Value
System.String
Remarks
The role must allow the iam:PassRole
action.
TimeFormat
The time format that you want to use.
public string TimeFormat { get; set; }
Property Value
System.String
Remarks
Valid values are auto
(case-sensitive), 'timeformat_string'
, 'epochsecs'
, or 'epochmillisecs'
. It defaults to 10. Using auto
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
.
TrimBlanks
A value that specifies to remove the trailing white space characters from a VARCHAR string.
public object TrimBlanks { get; set; }
Property Value
System.Object
Remarks
This parameter applies only to columns with a VARCHAR data type. Choose true
to remove unneeded white space. The default is false
.
TruncateColumns
A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column.
public object TruncateColumns { get; set; }
Property Value
System.Object
Remarks
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 is false
.
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).
public Nullable<double> WriteBufferSize { get; set; }
Property Value
System.Nullable<System.Double>