BatchPutDocument - Amazon Q Business

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: