createIntegrationTableProperties method
This API is used to provide optional override properties for the the
tables that need to be replicated. These properties can include properties
for filtering and partitioning for the source and target tables. To set
both source and target properties the same API need to be invoked with the
Glue connection ARN as ResourceArn with
SourceTableConfig, and the Glue database ARN as
ResourceArn with TargetTableConfig respectively.
May throw AccessDeniedException.
May throw EntityNotFoundException.
May throw InternalServerException.
May throw InternalServiceException.
May throw InvalidInputException.
May throw ResourceNotFoundException.
May throw ValidationException.
Parameter resourceArn :
The Amazon Resource Name (ARN) of the target table for which to create
integration table properties. Currently, this API only supports creating
integration table properties for target tables, and the provided ARN
should be the ARN of the target table in the Glue Data Catalog. Support
for creating integration table properties for source connections (using
the connection ARN) is not yet implemented and will be added in a future
release.
Parameter tableName :
The name of the table to be replicated.
Parameter sourceTableConfig :
A structure for the source table configuration. See the
SourceTableConfig structure to see list of supported source
properties.
Parameter targetTableConfig :
A structure for the target table configuration.
Implementation
Future<void> createIntegrationTableProperties({
required String resourceArn,
required String tableName,
SourceTableConfig? sourceTableConfig,
TargetTableConfig? targetTableConfig,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSGlue.CreateIntegrationTableProperties'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ResourceArn': resourceArn,
'TableName': tableName,
if (sourceTableConfig != null) 'SourceTableConfig': sourceTableConfig,
if (targetTableConfig != null) 'TargetTableConfig': targetTableConfig,
},
);
}