updateIntegrationTableProperties method

Future<void> updateIntegrationTableProperties({
  1. required String resourceArn,
  2. required String tableName,
  3. SourceTableConfig? sourceTableConfig,
  4. TargetTableConfig? targetTableConfig,
})

This API is used to provide optional override properties for 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.

The override will be reflected across all the integrations using same ResourceArn and source table.

May throw AccessDeniedException. May throw EntityNotFoundException. May throw InternalServerException. May throw InternalServiceException. May throw InvalidInputException. May throw ResourceNotFoundException. May throw ValidationException.

Parameter resourceArn : The connection ARN of the source, or the database ARN of the target.

Parameter tableName : The name of the table to be replicated.

Parameter sourceTableConfig : A structure for the source table configuration.

Parameter targetTableConfig : A structure for the target table configuration.

Implementation

Future<void> updateIntegrationTableProperties({
  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.UpdateIntegrationTableProperties'
  };
  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,
    },
  );
}