BatchPutDocument
Adds one or more documents to an Amazon Q Business index.
You use this API to:
-
ingest your structured and unstructured documents and documents stored in an Amazon S3 bucket into an Amazon Q Business index.
-
add custom attributes to documents in an Amazon Q Business index.
-
attach an access control list to the documents added to an Amazon Q Business index.
You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.
Request Syntax
POST /applications/applicationId
/indices/indexId
/documents HTTP/1.1
Content-type: application/json
{
"dataSourceSyncId": "string
",
"documents": [
{
"accessConfiguration": {
"accessControls": [
{
"memberRelation": "string
",
"principals": [
{ ... }
]
}
],
"memberRelation": "string
"
},
"attributes": [
{
"name": "string
",
"value": { ... }
}
],
"content": { ... },
"contentType": "string
",
"documentEnrichmentConfiguration": {
"inlineConfigurations": [
{
"condition": {
"key": "string
",
"operator": "string
",
"value": { ... }
},
"documentContentOperator": "string
",
"target": {
"attributeValueOperator": "string
",
"key": "string
",
"value": { ... }
}
}
],
"postExtractionHookConfiguration": {
"invocationCondition": {
"key": "string
",
"operator": "string
",
"value": { ... }
},
"lambdaArn": "string
",
"roleArn": "string
",
"s3BucketName": "string
"
},
"preExtractionHookConfiguration": {
"invocationCondition": {
"key": "string
",
"operator": "string
",
"value": { ... }
},
"lambdaArn": "string
",
"roleArn": "string
",
"s3BucketName": "string
"
}
},
"id": "string
",
"title": "string
"
}
],
"roleArn": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- applicationId
-
The identifier of the Amazon Q Business application.
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9-]{35}
Required: Yes
- indexId
-
The identifier of the Amazon Q Business index to add the documents to.
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9-]{35}
Required: Yes
Request Body
The request accepts the following data in JSON format.
- dataSourceSyncId
-
The identifier of the data source sync during which the documents were added.
Type: String
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9-]{35}
Required: No
- documents
-
One or more documents to add to the index.
Type: Array of Document objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: Yes
- roleArn
-
The Amazon Resource Name (ARN) of an IAM role with permission to access your S3 bucket.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1284.
Pattern:
arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"failedDocuments": [
{
"dataSourceId": "string",
"error": {
"errorCode": "string",
"errorMessage": "string"
},
"id": "string"
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- failedDocuments
-
A list of documents that were not added to the Amazon Q Business index because the document failed a validation check. Each document contains an error message that indicates why the document couldn't be added to the index.
Type: Array of FailedDocument objects
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You don't have access to perform this action. Make sure you have the required permission policies and user accounts and try again.
HTTP Status Code: 403
- ConflictException
-
You are trying to perform an action that conflicts with the current status of your resource. Fix any inconsistences with your resources and try again.
HTTP Status Code: 409
- InternalServerException
-
An issue occurred with the internal server used for your Amazon Q Business service. Wait some minutes and try again, or contact Support
for help. HTTP Status Code: 500
- ResourceNotFoundException
-
The resource you want to use doesn’t exist. Make sure you have provided the correct resource and try again.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
You have exceeded the set limits for your Amazon Q Business service.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied due to throttling. Reduce the number of requests and try again.
HTTP Status Code: 429
- ValidationException
-
The input doesn't meet the constraints set by the Amazon Q Business service. Provide the correct input and try again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: