Removes one or more documents from an index. The documents must have been added with the BatchPutDocument API.
The documents are deleted asynchronously. You can see the progress of the deletion by using Amazon Web Services CloudWatch. Any error messages related to the processing of the batch are sent to your Amazon Web Services CloudWatch log. You can also use the BatchGetDocumentStatus API to monitor the progress of deleting your documents.
Deleting documents from an index using BatchDeleteDocument could take up to an hour or more, depending on the number of documents you want to delete.
Parameters:
-
index_id
(IndexId)
–
The identifier of the index that contains the documents to delete.
-
document_id_list
(DocumentIdList)
–
One or more identifiers for documents to delete from the index.
Raises:
-
AccessDeniedException
–
You don't have sufficient access to perform this action. Please ensure you have the required permission policies and user accounts and try again.
-
ConflictException
–
A conflict occurred with the request. Please fix any inconsistences with your resources and try again.
-
InternalServerException
–
An issue occurred with the internal server used for your Amazon Kendra service. Please wait a few minutes and try again, or contact Support for help.
-
ResourceNotFoundException
–
The resource you want to use doesn’t exist. Please check you have provided the correct resource and try again.
-
ThrottlingException
–
The request was denied due to request throttling. Please reduce the number of requests and try again.
-
ValidationException
–
The input fails to satisfy the constraints set by the Amazon Kendra service. Please provide the correct input and try again.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_kendra/_services/kendra.py
| def batch_delete_document(
self,
index_id: "capo_kendra.types.index_id.IndexId",
document_id_list: "capo_kendra.types.document_id_list.DocumentIdList",
*,
config_overrides: Optional[kendraClientConfig] = None,
data_source_sync_job_metric_target: Optional[
"capo_kendra.types.data_source_sync_job_metric_target.DataSourceSyncJobMetricTarget"
] = None,
) -> "capo_kendra.types.batch_delete_document_response.BatchDeleteDocumentResponse":
"""<p>Removes one or more documents from an index. The documents must have been added with the <code>BatchPutDocument</code> API.</p> <p>The documents are deleted asynchronously. You can see the progress of the deletion by using Amazon Web Services CloudWatch. Any error messages related to the processing of the batch are sent to your Amazon Web Services CloudWatch log. You can also use the <code>BatchGetDocumentStatus</code> API to monitor the progress of deleting your documents.</p> <p>Deleting documents from an index using <code>BatchDeleteDocument</code> could take up to an hour or more, depending on the number of documents you want to delete.</p>
Args:
index_id: <p>The identifier of the index that contains the documents to delete.</p>
document_id_list: <p>One or more identifiers for documents to delete from the index.</p>
Raises:
capo_kendra.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient access to perform this action. Please ensure you have the required permission policies and user accounts and try again.</p>
capo_kendra.errors.conflict_exception.ConflictException: <p>A conflict occurred with the request. Please fix any inconsistences with your resources and try again.</p>
capo_kendra.errors.internal_server_exception.InternalServerException: <p>An issue occurred with the internal server used for your Amazon Kendra service. Please wait a few minutes and try again, or contact <a href="http://aws.amazon.com/contact-us/">Support</a> for help.</p>
capo_kendra.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource you want to use doesn’t exist. Please check you have provided the correct resource and try again.</p>
capo_kendra.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling. Please reduce the number of requests and try again.</p>
capo_kendra.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints set by the Amazon Kendra service. Please provide the correct input and try again.</p>
capo_kendra.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_kendra.types.batch_delete_document_request.BatchDeleteDocumentRequest]",
) -> OperationResponse[
"capo_kendra.types.batch_delete_document_response.BatchDeleteDocumentResponse"
]:
import capo_kendra._operations.aws_kendra_frontend_service.batch_delete_document
output, http_response = (
capo_kendra._operations.aws_kendra_frontend_service.batch_delete_document.batch_delete_document(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("BatchDeleteDocument")
)
input_: capo_kendra.types.batch_delete_document_request.BatchDeleteDocumentRequest = {
"index_id": index_id,
"document_id_list": document_id_list,
}
if data_source_sync_job_metric_target is not None:
input_["data_source_sync_job_metric_target"] = (
data_source_sync_job_metric_target
)
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|