createDataSource method
- required DataSourceConfiguration dataSourceConfiguration,
- required String knowledgeBaseId,
- required String name,
- String? clientToken,
- DataDeletionPolicy? dataDeletionPolicy,
- String? description,
- ServerSideEncryptionConfiguration? serverSideEncryptionConfiguration,
- VectorIngestionConfiguration? vectorIngestionConfiguration,
Connects a knowledge base to a data source. You specify the configuration
for the specific data source service in the
dataSourceConfiguration field.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter dataSourceConfiguration :
The connection configuration for the data source.
Parameter knowledgeBaseId :
The unique identifier of the knowledge base to which to add the data
source.
Parameter name :
The name of the data source.
Parameter clientToken :
A unique, case-sensitive identifier to ensure that the API request
completes no more than one time. If this token matches a previous request,
Amazon Bedrock ignores the request, but does not return an error. For more
information, see Ensuring
idempotency.
Parameter dataDeletionPolicy :
The data deletion policy for the data source.
You can set the data deletion policy to:
- DELETE: Deletes all data from your data source that’s converted into vector embeddings upon deletion of a knowledge base or data source resource. Note that the vector store itself is not deleted, only the data. This flag is ignored if an Amazon Web Services account is deleted.
- RETAIN: Retains all data from your data source that’s converted into vector embeddings upon deletion of a knowledge base or data source resource. Note that the vector store itself is not deleted if you delete a knowledge base or data source resource.
Parameter description :
A description of the data source.
Parameter serverSideEncryptionConfiguration :
Contains details about the server-side encryption for the data source.
Parameter vectorIngestionConfiguration :
Contains details about how to ingest the documents in the data source.
Implementation
Future<CreateDataSourceResponse> createDataSource({
required DataSourceConfiguration dataSourceConfiguration,
required String knowledgeBaseId,
required String name,
String? clientToken,
DataDeletionPolicy? dataDeletionPolicy,
String? description,
ServerSideEncryptionConfiguration? serverSideEncryptionConfiguration,
VectorIngestionConfiguration? vectorIngestionConfiguration,
}) async {
final $payload = <String, dynamic>{
'dataSourceConfiguration': dataSourceConfiguration,
'name': name,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
if (dataDeletionPolicy != null)
'dataDeletionPolicy': dataDeletionPolicy.value,
if (description != null) 'description': description,
if (serverSideEncryptionConfiguration != null)
'serverSideEncryptionConfiguration': serverSideEncryptionConfiguration,
if (vectorIngestionConfiguration != null)
'vectorIngestionConfiguration': vectorIngestionConfiguration,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri:
'/knowledgebases/${Uri.encodeComponent(knowledgeBaseId)}/datasources/',
exceptionFnMap: _exceptionFns,
);
return CreateDataSourceResponse.fromJson(response);
}