UpdateKnowledgeBase - Amazon Bedrock

UpdateKnowledgeBase

Updates the configuration of a knowledge base with the fields that you specify. Because all fields will be overwritten, you must include the same values for fields that you want to keep the same.

You can change the following fields:

  • name

  • description

  • roleArn

You can't change the knowledgeBaseConfiguration or storageConfiguration fields, so you must specify the same configurations as when you created the knowledge base. You can send a GetKnowledgeBase request and copy the same configurations.

Request Syntax

PUT /knowledgebases/knowledgeBaseId HTTP/1.1 Content-type: application/json { "description": "string", "knowledgeBaseConfiguration": { "type": "string", "vectorKnowledgeBaseConfiguration": { "embeddingModelArn": "string", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": number } } } }, "name": "string", "roleArn": "string", "storageConfiguration": { "mongoDbAtlasConfiguration": { "collectionName": "string", "credentialsSecretArn": "string", "databaseName": "string", "endpoint": "string", "endpointServiceName": "string", "fieldMapping": { "metadataField": "string", "textField": "string", "vectorField": "string" }, "vectorIndexName": "string" }, "opensearchServerlessConfiguration": { "collectionArn": "string", "fieldMapping": { "metadataField": "string", "textField": "string", "vectorField": "string" }, "vectorIndexName": "string" }, "pineconeConfiguration": { "connectionString": "string", "credentialsSecretArn": "string", "fieldMapping": { "metadataField": "string", "textField": "string" }, "namespace": "string" }, "rdsConfiguration": { "credentialsSecretArn": "string", "databaseName": "string", "fieldMapping": { "metadataField": "string", "primaryKeyField": "string", "textField": "string", "vectorField": "string" }, "resourceArn": "string", "tableName": "string" }, "redisEnterpriseCloudConfiguration": { "credentialsSecretArn": "string", "endpoint": "string", "fieldMapping": { "metadataField": "string", "textField": "string", "vectorField": "string" }, "vectorIndexName": "string" }, "type": "string" } }

URI Request Parameters

The request uses the following URI parameters.

knowledgeBaseId

The unique identifier of the knowledge base to update.

Pattern: ^[0-9a-zA-Z]{10}$

Required: Yes

Request Body

The request accepts the following data in JSON format.

description

Specifies a new description for the knowledge base.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 200.

Required: No

knowledgeBaseConfiguration

Specifies the configuration for the embeddings model used for the knowledge base. You must use the same configuration as when the knowledge base was created.

Type: KnowledgeBaseConfiguration object

Required: Yes

name

Specifies a new name for the knowledge base.

Type: String

Pattern: ^([0-9a-zA-Z][_-]?){1,100}$

Required: Yes

roleArn

Specifies a different Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2048.

Pattern: ^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+$

Required: Yes

storageConfiguration

Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created.

Type: StorageConfiguration object

Required: Yes

Response Syntax

HTTP/1.1 202 Content-type: application/json { "knowledgeBase": { "createdAt": "string", "description": "string", "failureReasons": [ "string" ], "knowledgeBaseArn": "string", "knowledgeBaseConfiguration": { "type": "string", "vectorKnowledgeBaseConfiguration": { "embeddingModelArn": "string", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": number } } } }, "knowledgeBaseId": "string", "name": "string", "roleArn": "string", "status": "string", "storageConfiguration": { "mongoDbAtlasConfiguration": { "collectionName": "string", "credentialsSecretArn": "string", "databaseName": "string", "endpoint": "string", "endpointServiceName": "string", "fieldMapping": { "metadataField": "string", "textField": "string", "vectorField": "string" }, "vectorIndexName": "string" }, "opensearchServerlessConfiguration": { "collectionArn": "string", "fieldMapping": { "metadataField": "string", "textField": "string", "vectorField": "string" }, "vectorIndexName": "string" }, "pineconeConfiguration": { "connectionString": "string", "credentialsSecretArn": "string", "fieldMapping": { "metadataField": "string", "textField": "string" }, "namespace": "string" }, "rdsConfiguration": { "credentialsSecretArn": "string", "databaseName": "string", "fieldMapping": { "metadataField": "string", "primaryKeyField": "string", "textField": "string", "vectorField": "string" }, "resourceArn": "string", "tableName": "string" }, "redisEnterpriseCloudConfiguration": { "credentialsSecretArn": "string", "endpoint": "string", "fieldMapping": { "metadataField": "string", "textField": "string", "vectorField": "string" }, "vectorIndexName": "string" }, "type": "string" }, "updatedAt": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 202 response.

The following data is returned in JSON format by the service.

knowledgeBase

Contains details about the knowledge base.

Type: KnowledgeBase object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

The request is denied because of missing access permissions.

HTTP Status Code: 403

ConflictException

There was a conflict performing an operation.

HTTP Status Code: 409

InternalServerException

An internal server error occurred. Retry your request.

HTTP Status Code: 500

ResourceNotFoundException

The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again.

HTTP Status Code: 404

ThrottlingException

The number of requests exceeds the limit. Resubmit your request later.

HTTP Status Code: 429

ValidationException

Input validation failed. Check your request parameters and retry the request.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: