IngestKnowledgeBaseDocuments
Ingests documents directly into the knowledge base that is connected to the data source. The dataSourceType
specified in the content for each document must match the type of the data source that you specify in the header. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.
Request Syntax
PUT /knowledgebases/knowledgeBaseId
/datasources/dataSourceId
/documents HTTP/1.1
Content-type: application/json
{
"clientToken": "string
",
"documents": [
{
"content": {
"custom": {
"customDocumentIdentifier": {
"id": "string
"
},
"inlineContent": {
"byteContent": {
"data": blob
,
"mimeType": "string
"
},
"textContent": {
"data": "string
"
},
"type": "string
"
},
"s3Location": {
"bucketOwnerAccountId": "string
",
"uri": "string
"
},
"sourceType": "string
"
},
"dataSourceType": "string
",
"s3": {
"s3Location": {
"uri": "string
"
}
}
},
"metadata": {
"inlineAttributes": [
{
"key": "string
",
"value": {
"booleanValue": boolean
,
"numberValue": number
,
"stringListValue": [ "string
" ],
"stringValue": "string
",
"type": "string
"
}
}
],
"s3Location": {
"bucketOwnerAccountId": "string
",
"uri": "string
"
},
"type": "string
"
}
}
]
}
URI Request Parameters
The request uses the following URI parameters.
- dataSourceId
-
The unique identifier of the data source connected to the knowledge base that you're adding documents to.
Pattern:
^[0-9a-zA-Z]{10}$
Required: Yes
- knowledgeBaseId
-
The unique identifier of the knowledge base to ingest the documents into.
Pattern:
^[0-9a-zA-Z]{10}$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- 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.
Type: String
Length Constraints: Minimum length of 33. Maximum length of 256.
Pattern:
^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}$
Required: No
- documents
-
A list of objects, each of which contains information about the documents to add.
Type: Array of KnowledgeBaseDocument objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: Yes
Response Syntax
HTTP/1.1 202
Content-type: application/json
{
"documentDetails": [
{
"dataSourceId": "string",
"identifier": {
"custom": {
"id": "string"
},
"dataSourceType": "string",
"s3": {
"uri": "string"
}
},
"knowledgeBaseId": "string",
"status": "string",
"statusReason": "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.
- documentDetails
-
A list of objects, each of which contains information about the documents that were ingested.
Type: Array of KnowledgeBaseDocumentDetail objects
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
- 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
- ServiceQuotaExceededException
-
The number of requests exceeds the service quota. Resubmit your request later.
HTTP Status Code: 402
- 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: