Class CfnEndpoint.S3SettingsProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnEndpoint.S3SettingsProperty>
- Enclosing interface:
CfnEndpoint.S3SettingsProperty
CfnEndpoint.S3SettingsProperty
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddColumnName
(Boolean addColumnName) Sets the value ofCfnEndpoint.S3SettingsProperty.getAddColumnName()
addColumnName
(IResolvable addColumnName) Sets the value ofCfnEndpoint.S3SettingsProperty.getAddColumnName()
bucketFolder
(String bucketFolder) Sets the value ofCfnEndpoint.S3SettingsProperty.getBucketFolder()
bucketName
(String bucketName) Sets the value ofCfnEndpoint.S3SettingsProperty.getBucketName()
build()
Builds the configured instance.cannedAclForObjects
(String cannedAclForObjects) Sets the value ofCfnEndpoint.S3SettingsProperty.getCannedAclForObjects()
cdcInsertsAndUpdates
(Boolean cdcInsertsAndUpdates) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsAndUpdates()
cdcInsertsAndUpdates
(IResolvable cdcInsertsAndUpdates) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsAndUpdates()
cdcInsertsOnly
(Boolean cdcInsertsOnly) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsOnly()
cdcInsertsOnly
(IResolvable cdcInsertsOnly) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsOnly()
cdcMaxBatchInterval
(Number cdcMaxBatchInterval) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcMaxBatchInterval()
cdcMinFileSize
(Number cdcMinFileSize) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcMinFileSize()
Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcPath()
compressionType
(String compressionType) Sets the value ofCfnEndpoint.S3SettingsProperty.getCompressionType()
csvDelimiter
(String csvDelimiter) Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvDelimiter()
csvNoSupValue
(String csvNoSupValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvNoSupValue()
csvNullValue
(String csvNullValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvNullValue()
csvRowDelimiter
(String csvRowDelimiter) Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvRowDelimiter()
dataFormat
(String dataFormat) Sets the value ofCfnEndpoint.S3SettingsProperty.getDataFormat()
dataPageSize
(Number dataPageSize) Sets the value ofCfnEndpoint.S3SettingsProperty.getDataPageSize()
datePartitionDelimiter
(String datePartitionDelimiter) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionDelimiter()
datePartitionEnabled
(Boolean datePartitionEnabled) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionEnabled()
datePartitionEnabled
(IResolvable datePartitionEnabled) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionEnabled()
datePartitionSequence
(String datePartitionSequence) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionSequence()
datePartitionTimezone
(String datePartitionTimezone) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionTimezone()
dictPageSizeLimit
(Number dictPageSizeLimit) Sets the value ofCfnEndpoint.S3SettingsProperty.getDictPageSizeLimit()
enableStatistics
(Boolean enableStatistics) Sets the value ofCfnEndpoint.S3SettingsProperty.getEnableStatistics()
enableStatistics
(IResolvable enableStatistics) Sets the value ofCfnEndpoint.S3SettingsProperty.getEnableStatistics()
encodingType
(String encodingType) Sets the value ofCfnEndpoint.S3SettingsProperty.getEncodingType()
encryptionMode
(String encryptionMode) Sets the value ofCfnEndpoint.S3SettingsProperty.getEncryptionMode()
externalTableDefinition
(String externalTableDefinition) Sets the value ofCfnEndpoint.S3SettingsProperty.getExternalTableDefinition()
ignoreHeaderRows
(Number ignoreHeaderRows) Sets the value ofCfnEndpoint.S3SettingsProperty.getIgnoreHeaderRows()
includeOpForFullLoad
(Boolean includeOpForFullLoad) Sets the value ofCfnEndpoint.S3SettingsProperty.getIncludeOpForFullLoad()
includeOpForFullLoad
(IResolvable includeOpForFullLoad) Sets the value ofCfnEndpoint.S3SettingsProperty.getIncludeOpForFullLoad()
maxFileSize
(Number maxFileSize) Sets the value ofCfnEndpoint.S3SettingsProperty.getMaxFileSize()
parquetTimestampInMillisecond
(Boolean parquetTimestampInMillisecond) Sets the value ofCfnEndpoint.S3SettingsProperty.getParquetTimestampInMillisecond()
parquetTimestampInMillisecond
(IResolvable parquetTimestampInMillisecond) Sets the value ofCfnEndpoint.S3SettingsProperty.getParquetTimestampInMillisecond()
parquetVersion
(String parquetVersion) Sets the value ofCfnEndpoint.S3SettingsProperty.getParquetVersion()
preserveTransactions
(Boolean preserveTransactions) Sets the value ofCfnEndpoint.S3SettingsProperty.getPreserveTransactions()
preserveTransactions
(IResolvable preserveTransactions) Sets the value ofCfnEndpoint.S3SettingsProperty.getPreserveTransactions()
Sets the value ofCfnEndpoint.S3SettingsProperty.getRfc4180()
rfc4180
(IResolvable rfc4180) Sets the value ofCfnEndpoint.S3SettingsProperty.getRfc4180()
rowGroupLength
(Number rowGroupLength) Sets the value ofCfnEndpoint.S3SettingsProperty.getRowGroupLength()
serverSideEncryptionKmsKeyId
(String serverSideEncryptionKmsKeyId) Sets the value ofCfnEndpoint.S3SettingsProperty.getServerSideEncryptionKmsKeyId()
serviceAccessRoleArn
(String serviceAccessRoleArn) Sets the value ofCfnEndpoint.S3SettingsProperty.getServiceAccessRoleArn()
timestampColumnName
(String timestampColumnName) Sets the value ofCfnEndpoint.S3SettingsProperty.getTimestampColumnName()
useCsvNoSupValue
(Boolean useCsvNoSupValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseCsvNoSupValue()
useCsvNoSupValue
(IResolvable useCsvNoSupValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseCsvNoSupValue()
useTaskStartTimeForFullLoadTimestamp
(Boolean useTaskStartTimeForFullLoadTimestamp) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseTaskStartTimeForFullLoadTimestamp()
useTaskStartTimeForFullLoadTimestamp
(IResolvable useTaskStartTimeForFullLoadTimestamp) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseTaskStartTimeForFullLoadTimestamp()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
addColumnName
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder addColumnName(Boolean addColumnName) Sets the value ofCfnEndpoint.S3SettingsProperty.getAddColumnName()
- Parameters:
addColumnName
- An optional parameter that, when set totrue
ory
, you can use to add column name information to the .csv output file. The default value isfalse
. Valid values aretrue
,false
,y
, andn
.- Returns:
this
-
addColumnName
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder addColumnName(IResolvable addColumnName) Sets the value ofCfnEndpoint.S3SettingsProperty.getAddColumnName()
- Parameters:
addColumnName
- An optional parameter that, when set totrue
ory
, you can use to add column name information to the .csv output file. The default value isfalse
. Valid values aretrue
,false
,y
, andn
.- Returns:
this
-
bucketFolder
Sets the value ofCfnEndpoint.S3SettingsProperty.getBucketFolder()
- Parameters:
bucketFolder
- An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path*bucketFolder* / *schema_name* / *table_name* /
. If this parameter isn't specified, the path used is*schema_name* / *table_name* /
.- Returns:
this
-
bucketName
Sets the value ofCfnEndpoint.S3SettingsProperty.getBucketName()
- Parameters:
bucketName
- The name of the S3 bucket.- Returns:
this
-
cannedAclForObjects
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cannedAclForObjects(String cannedAclForObjects) Sets the value ofCfnEndpoint.S3SettingsProperty.getCannedAclForObjects()
- Parameters:
cannedAclForObjects
- A value that enables AWS DMS to specify a predefined (canned) access control list (ACL) for objects created in an Amazon S3 bucket as .csv or .parquet files. For more information about Amazon S3 canned ACLs, see Canned ACL in the Amazon S3 Developer Guide . The default value is NONE. Valid values include NONE, PRIVATE, PUBLIC_READ, PUBLIC_READ_WRITE, AUTHENTICATED_READ, AWS_EXEC_READ, BUCKET_OWNER_READ, and BUCKET_OWNER_FULL_CONTROL.- Returns:
this
-
cdcInsertsAndUpdates
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cdcInsertsAndUpdates(Boolean cdcInsertsAndUpdates) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsAndUpdates()
- Parameters:
cdcInsertsAndUpdates
- A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting isfalse
, but whenCdcInsertsAndUpdates
is set totrue
ory
, only INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file. For .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of theIncludeOpForFullLoad
parameter. IfIncludeOpForFullLoad
is set totrue
, the first field of every CDC record is set to eitherI
orU
to indicate INSERT and UPDATE operations at the source. But ifIncludeOpForFullLoad
is set tofalse
, CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide .AWS DMS supports the use of the
CdcInsertsAndUpdates
parameter in versions 3.3.1 and later.CdcInsertsOnly
andCdcInsertsAndUpdates
can't both be set totrue
for the same endpoint. Set eitherCdcInsertsOnly
orCdcInsertsAndUpdates
totrue
for the same endpoint, but not both.- Returns:
this
-
cdcInsertsAndUpdates
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cdcInsertsAndUpdates(IResolvable cdcInsertsAndUpdates) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsAndUpdates()
- Parameters:
cdcInsertsAndUpdates
- A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting isfalse
, but whenCdcInsertsAndUpdates
is set totrue
ory
, only INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file. For .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of theIncludeOpForFullLoad
parameter. IfIncludeOpForFullLoad
is set totrue
, the first field of every CDC record is set to eitherI
orU
to indicate INSERT and UPDATE operations at the source. But ifIncludeOpForFullLoad
is set tofalse
, CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide .AWS DMS supports the use of the
CdcInsertsAndUpdates
parameter in versions 3.3.1 and later.CdcInsertsOnly
andCdcInsertsAndUpdates
can't both be set totrue
for the same endpoint. Set eitherCdcInsertsOnly
orCdcInsertsAndUpdates
totrue
for the same endpoint, but not both.- Returns:
this
-
cdcInsertsOnly
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cdcInsertsOnly(Boolean cdcInsertsOnly) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsOnly()
- Parameters:
cdcInsertsOnly
- A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (thefalse
setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target. IfCdcInsertsOnly
is set totrue
ory
, only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value ofIncludeOpForFullLoad
. IfIncludeOpForFullLoad
is set totrue
, the first field of every CDC record is set to I to indicate the INSERT operation at the source. IfIncludeOpForFullLoad
is set tofalse
, every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide .AWS DMS supports the interaction described preceding between the
CdcInsertsOnly
andIncludeOpForFullLoad
parameters in versions 3.1.4 and later.CdcInsertsOnly
andCdcInsertsAndUpdates
can't both be set totrue
for the same endpoint. Set eitherCdcInsertsOnly
orCdcInsertsAndUpdates
totrue
for the same endpoint, but not both.- Returns:
this
-
cdcInsertsOnly
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cdcInsertsOnly(IResolvable cdcInsertsOnly) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcInsertsOnly()
- Parameters:
cdcInsertsOnly
- A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (thefalse
setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target. IfCdcInsertsOnly
is set totrue
ory
, only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value ofIncludeOpForFullLoad
. IfIncludeOpForFullLoad
is set totrue
, the first field of every CDC record is set to I to indicate the INSERT operation at the source. IfIncludeOpForFullLoad
is set tofalse
, every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide .AWS DMS supports the interaction described preceding between the
CdcInsertsOnly
andIncludeOpForFullLoad
parameters in versions 3.1.4 and later.CdcInsertsOnly
andCdcInsertsAndUpdates
can't both be set totrue
for the same endpoint. Set eitherCdcInsertsOnly
orCdcInsertsAndUpdates
totrue
for the same endpoint, but not both.- Returns:
this
-
cdcMaxBatchInterval
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cdcMaxBatchInterval(Number cdcMaxBatchInterval) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcMaxBatchInterval()
- Parameters:
cdcMaxBatchInterval
- Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. WhenCdcMaxBatchInterval
andCdcMinFileSize
are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.The default value is 60 seconds.
- Returns:
this
-
cdcMinFileSize
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder cdcMinFileSize(Number cdcMinFileSize) Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcMinFileSize()
- Parameters:
cdcMinFileSize
- Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3. WhenCdcMinFileSize
andCdcMaxBatchInterval
are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.The default value is 32 MB.
- Returns:
this
-
cdcPath
Sets the value ofCfnEndpoint.S3SettingsProperty.getCdcPath()
- Parameters:
cdcPath
- Specifies the folder path of CDC files. For an S3 source, this setting is required if a task captures change data; otherwise, it's optional. IfCdcPath
is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. For an S3 target if you setPreserveTransactions
totrue
, AWS DMS verifies that you have set this parameter to a folder path on your S3 target where AWS DMS can save the transaction order for the CDC load. AWS DMS creates this CDC folder path in either your S3 target working directory or the S3 target location specified byBucketFolder
andBucketName
.For example, if you specify
CdcPath
asMyChangedData
, and you specifyBucketName
asMyTargetBucket
but do not specifyBucketFolder
, AWS DMS creates the CDC folder path following:MyTargetBucket/MyChangedData
.If you specify the same
CdcPath
, and you specifyBucketName
asMyTargetBucket
andBucketFolder
asMyTargetData
, AWS DMS creates the CDC folder path following:MyTargetBucket/MyTargetData/MyChangedData
.For more information on CDC including transaction order on an S3 target, see Capturing data changes (CDC) including transaction order on the S3 target .
This setting is supported in AWS DMS versions 3.4.2 and later.
- Returns:
this
-
compressionType
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder compressionType(String compressionType) Sets the value ofCfnEndpoint.S3SettingsProperty.getCompressionType()
- Parameters:
compressionType
- An optional parameter. When set to GZIP it enables the service to compress the target files. To allow the service to write the target files uncompressed, either set this parameter to NONE (the default) or don't specify the parameter at all. This parameter applies to both .csv and .parquet file formats.- Returns:
this
-
csvDelimiter
Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvDelimiter()
- Parameters:
csvDelimiter
- The delimiter used to separate columns in the .csv file for both source and target. The default is a comma.- Returns:
this
-
csvNoSupValue
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder csvNoSupValue(String csvNoSupValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvNoSupValue()
- Parameters:
csvNoSupValue
- This setting only applies if your Amazon S3 output files during a change data capture (CDC) load are written in .csv format. IfUseCsvNoSupValue
is set to true, specify a string value that you want AWS DMS to use for all columns not included in the supplemental log. If you do not specify a string value, AWS DMS uses the null value for these columns regardless of theUseCsvNoSupValue
setting.This setting is supported in AWS DMS versions 3.4.1 and later.
- Returns:
this
-
csvNullValue
Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvNullValue()
- Parameters:
csvNullValue
- An optional parameter that specifies how AWS DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are not nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string ("" or ''), AWS DMS treats the empty string as the null value instead ofNULL
.The default value is
NULL
. Valid values include any valid string.- Returns:
this
-
csvRowDelimiter
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder csvRowDelimiter(String csvRowDelimiter) Sets the value ofCfnEndpoint.S3SettingsProperty.getCsvRowDelimiter()
- Parameters:
csvRowDelimiter
- The delimiter used to separate rows in the .csv file for both source and target. The default is a carriage return (\n
).- Returns:
this
-
dataFormat
Sets the value ofCfnEndpoint.S3SettingsProperty.getDataFormat()
- Parameters:
dataFormat
- The format of the data that you want to use for output. You can choose one of the following:.csv
: This is a row-based file format with comma-separated values (.csv).parquet
: Apache Parquet (.parquet) is a columnar storage file format that features efficient compression and provides faster query response.
- Returns:
this
-
dataPageSize
Sets the value ofCfnEndpoint.S3SettingsProperty.getDataPageSize()
- Parameters:
dataPageSize
- The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.- Returns:
this
-
datePartitionDelimiter
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder datePartitionDelimiter(String datePartitionDelimiter) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionDelimiter()
- Parameters:
datePartitionDelimiter
- Specifies a date separating delimiter to use during folder partitioning. The default value isSLASH
. Use this parameter whenDatePartitionedEnabled
is set totrue
.- Returns:
this
-
datePartitionEnabled
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder datePartitionEnabled(Boolean datePartitionEnabled) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionEnabled()
- Parameters:
datePartitionEnabled
- When set totrue
, this parameter partitions S3 bucket folders based on transaction commit dates. The default value isfalse
. For more information about date-based folder partitioning, see Using date-based folder partitioning .- Returns:
this
-
datePartitionEnabled
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder datePartitionEnabled(IResolvable datePartitionEnabled) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionEnabled()
- Parameters:
datePartitionEnabled
- When set totrue
, this parameter partitions S3 bucket folders based on transaction commit dates. The default value isfalse
. For more information about date-based folder partitioning, see Using date-based folder partitioning .- Returns:
this
-
datePartitionSequence
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder datePartitionSequence(String datePartitionSequence) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionSequence()
- Parameters:
datePartitionSequence
- Identifies the sequence of the date format to use during folder partitioning. The default value isYYYYMMDD
. Use this parameter whenDatePartitionedEnabled
is set totrue
.- Returns:
this
-
datePartitionTimezone
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder datePartitionTimezone(String datePartitionTimezone) Sets the value ofCfnEndpoint.S3SettingsProperty.getDatePartitionTimezone()
- Parameters:
datePartitionTimezone
- When creating an S3 target endpoint, setDatePartitionTimezone
to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a change data capture (CDC) file name is generated. The time zone format is Area/Location. Use this parameter whenDatePartitionedEnabled
is set totrue
, as shown in the following example.s3-settings='{"DatePartitionEnabled": true, "DatePartitionSequence": "YYYYMMDDHH", "DatePartitionDelimiter": "SLASH", "DatePartitionTimezone":" *Asia/Seoul* ", "BucketName": "dms-nattarat-test"}'
- Returns:
this
-
dictPageSizeLimit
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder dictPageSizeLimit(Number dictPageSizeLimit) Sets the value ofCfnEndpoint.S3SettingsProperty.getDictPageSizeLimit()
- Parameters:
dictPageSizeLimit
- The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type ofPLAIN
. This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page before it reverts toPLAIN
encoding. This size is used for .parquet file format only.- Returns:
this
-
enableStatistics
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder enableStatistics(Boolean enableStatistics) Sets the value ofCfnEndpoint.S3SettingsProperty.getEnableStatistics()
- Parameters:
enableStatistics
- A value that enables statistics for Parquet pages and row groups. Choosetrue
to enable statistics,false
to disable. Statistics includeNULL
,DISTINCT
,MAX
, andMIN
values. This parameter defaults totrue
. This value is used for .parquet file format only.- Returns:
this
-
enableStatistics
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder enableStatistics(IResolvable enableStatistics) Sets the value ofCfnEndpoint.S3SettingsProperty.getEnableStatistics()
- Parameters:
enableStatistics
- A value that enables statistics for Parquet pages and row groups. Choosetrue
to enable statistics,false
to disable. Statistics includeNULL
,DISTINCT
,MAX
, andMIN
values. This parameter defaults totrue
. This value is used for .parquet file format only.- Returns:
this
-
encodingType
Sets the value ofCfnEndpoint.S3SettingsProperty.getEncodingType()
- Parameters:
encodingType
- The type of encoding that you're using:.RLE_DICTIONARY
uses a combination of bit-packing and run-length encoding to store repeated values more efficiently. This is the default.PLAIN
doesn't use encoding at all. Values are stored as they are.PLAIN_DICTIONARY
builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.
- Returns:
this
-
encryptionMode
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder encryptionMode(String encryptionMode) Sets the value ofCfnEndpoint.S3SettingsProperty.getEncryptionMode()
- Parameters:
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 eitherSSE_S3
(the default) orSSE_KMS
.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
, you need an IAM role with permission to allow"arn:aws:s3:::dms-*"
to use the following actions:s3:CreateBucket
s3:ListBucket
s3:DeleteBucket
s3:GetBucketLocation
s3:GetObject
s3:PutObject
s3:DeleteObject
s3:GetObjectVersion
s3:GetBucketPolicy
s3:PutBucketPolicy
s3:DeleteBucketPolicy
- Returns:
this
-
externalTableDefinition
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder externalTableDefinition(String externalTableDefinition) Sets the value ofCfnEndpoint.S3SettingsProperty.getExternalTableDefinition()
- Parameters:
externalTableDefinition
- The external table definition. Conditional: IfS3
is used as a source thenExternalTableDefinition
is required.- Returns:
this
-
ignoreHeaderRows
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder ignoreHeaderRows(Number ignoreHeaderRows) Sets the value ofCfnEndpoint.S3SettingsProperty.getIgnoreHeaderRows()
- Parameters:
ignoreHeaderRows
- When this value is set to 1, AWS DMS ignores the first row header in a .csv file. A value of 1 turns on the feature; a value of 0 turns off the feature. The default is 0.- Returns:
this
-
includeOpForFullLoad
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder includeOpForFullLoad(Boolean includeOpForFullLoad) Sets the value ofCfnEndpoint.S3SettingsProperty.getIncludeOpForFullLoad()
- Parameters:
includeOpForFullLoad
- A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.AWS DMS supports the
IncludeOpForFullLoad
parameter in versions 3.1.4 and later.For full load, records can only be inserted. By default (the
false
setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. IfIncludeOpForFullLoad
is set totrue
ory
, the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.This setting works together with the
CdcInsertsOnly
and theCdcInsertsAndUpdates
parameters for output to .csv files only. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide .- Returns:
this
-
includeOpForFullLoad
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder includeOpForFullLoad(IResolvable includeOpForFullLoad) Sets the value ofCfnEndpoint.S3SettingsProperty.getIncludeOpForFullLoad()
- Parameters:
includeOpForFullLoad
- A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.AWS DMS supports the
IncludeOpForFullLoad
parameter in versions 3.1.4 and later.For full load, records can only be inserted. By default (the
false
setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. IfIncludeOpForFullLoad
is set totrue
ory
, the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.This setting works together with the
CdcInsertsOnly
and theCdcInsertsAndUpdates
parameters for output to .csv files only. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide .- Returns:
this
-
maxFileSize
Sets the value ofCfnEndpoint.S3SettingsProperty.getMaxFileSize()
- Parameters:
maxFileSize
- A value that specifies the maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. The default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.- Returns:
this
-
parquetTimestampInMillisecond
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder parquetTimestampInMillisecond(Boolean parquetTimestampInMillisecond) Sets the value ofCfnEndpoint.S3SettingsProperty.getParquetTimestampInMillisecond()
- Parameters:
parquetTimestampInMillisecond
- A value that specifies the precision of anyTIMESTAMP
column values that are written to an Amazon S3 object file in .parquet format.AWS DMS supports the
ParquetTimestampInMillisecond
parameter in versions 3.1.4 and later.When
ParquetTimestampInMillisecond
is set totrue
ory
, AWS DMS writes allTIMESTAMP
columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.Currently, Amazon Athena and AWS Glue can handle only millisecond precision for
TIMESTAMP
values. Set this parameter totrue
for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue .AWS DMS writes any
TIMESTAMP
column values written to an S3 file in .csv format with microsecond precision.Setting
ParquetTimestampInMillisecond
has no effect on the string format of the timestamp column value that is inserted by setting theTimestampColumnName
parameter.- Returns:
this
-
parquetTimestampInMillisecond
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder parquetTimestampInMillisecond(IResolvable parquetTimestampInMillisecond) Sets the value ofCfnEndpoint.S3SettingsProperty.getParquetTimestampInMillisecond()
- Parameters:
parquetTimestampInMillisecond
- A value that specifies the precision of anyTIMESTAMP
column values that are written to an Amazon S3 object file in .parquet format.AWS DMS supports the
ParquetTimestampInMillisecond
parameter in versions 3.1.4 and later.When
ParquetTimestampInMillisecond
is set totrue
ory
, AWS DMS writes allTIMESTAMP
columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.Currently, Amazon Athena and AWS Glue can handle only millisecond precision for
TIMESTAMP
values. Set this parameter totrue
for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue .AWS DMS writes any
TIMESTAMP
column values written to an S3 file in .csv format with microsecond precision.Setting
ParquetTimestampInMillisecond
has no effect on the string format of the timestamp column value that is inserted by setting theTimestampColumnName
parameter.- Returns:
this
-
parquetVersion
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder parquetVersion(String parquetVersion) Sets the value ofCfnEndpoint.S3SettingsProperty.getParquetVersion()
- Parameters:
parquetVersion
- The version of the Apache Parquet format that you want to use:parquet_1_0
(the default) orparquet_2_0
.- Returns:
this
-
preserveTransactions
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder preserveTransactions(Boolean preserveTransactions) Sets the value ofCfnEndpoint.S3SettingsProperty.getPreserveTransactions()
- Parameters:
preserveTransactions
- If this setting is set totrue
, AWS DMS saves the transaction order for a change data capture (CDC) load on the Amazon S3 target specified byCdcPath
. For more information, see Capturing data changes (CDC) including transaction order on the S3 target .This setting is supported in AWS DMS versions 3.4.2 and later.
- Returns:
this
-
preserveTransactions
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder preserveTransactions(IResolvable preserveTransactions) Sets the value ofCfnEndpoint.S3SettingsProperty.getPreserveTransactions()
- Parameters:
preserveTransactions
- If this setting is set totrue
, AWS DMS saves the transaction order for a change data capture (CDC) load on the Amazon S3 target specified byCdcPath
. For more information, see Capturing data changes (CDC) including transaction order on the S3 target .This setting is supported in AWS DMS versions 3.4.2 and later.
- Returns:
this
-
rfc4180
Sets the value ofCfnEndpoint.S3SettingsProperty.getRfc4180()
- Parameters:
rfc4180
- For an S3 source, when this value is set totrue
ory
, each leading double quotation mark has to be followed by an ending double quotation mark. This formatting complies with RFC 4180. When this value is set tofalse
orn
, string literals are copied to the target as is. In this case, a delimiter (row or column) signals the end of the field. Thus, you can't use a delimiter as part of the string, because it signals the end of the value.For an S3 target, an optional parameter used to set behavior to comply with RFC 4180 for data migrated to Amazon S3 using .csv file format only. When this value is set to
true
ory
using Amazon S3 as a target, if the data has quotation marks or newline characters in it, AWS DMS encloses the entire column with an additional pair of double quotation marks ("). Every quotation mark within the data is repeated twice.The default value is
true
. Valid values includetrue
,false
,y
, andn
.- Returns:
this
-
rfc4180
Sets the value ofCfnEndpoint.S3SettingsProperty.getRfc4180()
- Parameters:
rfc4180
- For an S3 source, when this value is set totrue
ory
, each leading double quotation mark has to be followed by an ending double quotation mark. This formatting complies with RFC 4180. When this value is set tofalse
orn
, string literals are copied to the target as is. In this case, a delimiter (row or column) signals the end of the field. Thus, you can't use a delimiter as part of the string, because it signals the end of the value.For an S3 target, an optional parameter used to set behavior to comply with RFC 4180 for data migrated to Amazon S3 using .csv file format only. When this value is set to
true
ory
using Amazon S3 as a target, if the data has quotation marks or newline characters in it, AWS DMS encloses the entire column with an additional pair of double quotation marks ("). Every quotation mark within the data is repeated twice.The default value is
true
. Valid values includetrue
,false
,y
, andn
.- Returns:
this
-
rowGroupLength
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder rowGroupLength(Number rowGroupLength) Sets the value ofCfnEndpoint.S3SettingsProperty.getRowGroupLength()
- Parameters:
rowGroupLength
- The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.If you choose a value larger than the maximum,
RowGroupLength
is set to the max row group length in bytes (64 * 1024 * 1024).- Returns:
this
-
serverSideEncryptionKmsKeyId
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder serverSideEncryptionKmsKeyId(String serverSideEncryptionKmsKeyId) Sets the value ofCfnEndpoint.S3SettingsProperty.getServerSideEncryptionKmsKeyId()
- Parameters:
serverSideEncryptionKmsKeyId
- If you are usingSSE_KMS
for theEncryptionMode
, provide the AWS KMS key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.Here is a CLI example:
aws dms create-endpoint --endpoint-identifier *value* --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn= *value* ,BucketFolder= *value* ,BucketName= *value* ,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId= *value*
- Returns:
this
-
serviceAccessRoleArn
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder serviceAccessRoleArn(String serviceAccessRoleArn) Sets the value ofCfnEndpoint.S3SettingsProperty.getServiceAccessRoleArn()
- Parameters:
serviceAccessRoleArn
- A required parameter that specifies the Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow theiam:PassRole
action. It enables AWS DMS to read and write objects from an S3 bucket.- Returns:
this
-
timestampColumnName
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder timestampColumnName(String timestampColumnName) Sets the value ofCfnEndpoint.S3SettingsProperty.getTimestampColumnName()
- Parameters:
timestampColumnName
- A value that when nonblank causes AWS DMS to add a column with timestamp information to the endpoint data for an Amazon S3 target.AWS DMS supports the
TimestampColumnName
parameter in versions 3.1.4 and later.AWS DMS includes an additional
STRING
column in the .csv or .parquet object files of your migrated data when you setTimestampColumnName
to a nonblank value.For a full load, each row of this timestamp column contains a timestamp for when the data was transferred from the source to the target by DMS.
For a change data capture (CDC) load, each row of the timestamp column contains the timestamp for the commit of that row in the source database.
The string format for this timestamp column value is
yyyy-MM-dd HH:mm:ss.SSSSSS
. By default, the precision of this value is in microseconds. For a CDC load, the rounding of the precision depends on the commit timestamp supported by DMS for the source database.When the
AddColumnName
parameter is set totrue
, DMS also includes a name for the timestamp column that you set withTimestampColumnName
.- Returns:
this
-
useCsvNoSupValue
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder useCsvNoSupValue(Boolean useCsvNoSupValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseCsvNoSupValue()
- Parameters:
useCsvNoSupValue
- This setting applies if the S3 output files during a change data capture (CDC) load are written in .csv format. If this setting is set totrue
for columns not included in the supplemental log, AWS DMS uses the value specified byCsvNoSupValue
. If this setting isn't set or is set tofalse
, AWS DMS uses the null value for these columns.This setting is supported in AWS DMS versions 3.4.1 and later.
- Returns:
this
-
useCsvNoSupValue
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder useCsvNoSupValue(IResolvable useCsvNoSupValue) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseCsvNoSupValue()
- Parameters:
useCsvNoSupValue
- This setting applies if the S3 output files during a change data capture (CDC) load are written in .csv format. If this setting is set totrue
for columns not included in the supplemental log, AWS DMS uses the value specified byCsvNoSupValue
. If this setting isn't set or is set tofalse
, AWS DMS uses the null value for these columns.This setting is supported in AWS DMS versions 3.4.1 and later.
- Returns:
this
-
useTaskStartTimeForFullLoadTimestamp
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder useTaskStartTimeForFullLoadTimestamp(Boolean useTaskStartTimeForFullLoadTimestamp) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseTaskStartTimeForFullLoadTimestamp()
- Parameters:
useTaskStartTimeForFullLoadTimestamp
- When set to true, this parameter uses the task start time as the timestamp column value instead of the time data is written to target. For full load, whenuseTaskStartTimeForFullLoadTimestamp
is set totrue
, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When
useTaskStartTimeForFullLoadTimestamp
is set tofalse
, the full load timestamp in the timestamp column increments with the time data arrives at the target.- Returns:
this
-
useTaskStartTimeForFullLoadTimestamp
@Stability(Stable) public CfnEndpoint.S3SettingsProperty.Builder useTaskStartTimeForFullLoadTimestamp(IResolvable useTaskStartTimeForFullLoadTimestamp) Sets the value ofCfnEndpoint.S3SettingsProperty.getUseTaskStartTimeForFullLoadTimestamp()
- Parameters:
useTaskStartTimeForFullLoadTimestamp
- When set to true, this parameter uses the task start time as the timestamp column value instead of the time data is written to target. For full load, whenuseTaskStartTimeForFullLoadTimestamp
is set totrue
, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When
useTaskStartTimeForFullLoadTimestamp
is set tofalse
, the full load timestamp in the timestamp column increments with the time data arrives at the target.- Returns:
this
-
build
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<CfnEndpoint.S3SettingsProperty>
- Returns:
- a new instance of
CfnEndpoint.S3SettingsProperty
- Throws:
NullPointerException
- if any required attribute was not provided
-