Skip to content

update_query_suggestions_block_list

update_query_suggestions_block_list(
    index_id: IndexId,
    id: QuerySuggestionsBlockListId,
    *,
    config_overrides: Optional[kendraClientConfig] = None,
    name: Optional[QuerySuggestionsBlockListName] = None,
    description: Optional[Description] = None,
    source_s3_path: Optional[S3Path] = None,
    role_arn: Optional[RoleArn] = None,
) -> None

Updates a block list used for query suggestions for an index.

Updates to a block list might not take effect right away. Amazon Kendra needs to refresh the entire suggestions list to apply any updates to the block list. Other changes not related to the block list apply immediately.

If a block list is updating, then you need to wait for the first update to finish before submitting another update.

Amazon Kendra supports partial updates, so you only need to provide the fields you want to update.

UpdateQuerySuggestionsBlockList is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Parameters:

  • index_id (IndexId) –

    The identifier of the index for the block list.

  • id (QuerySuggestionsBlockListId) –

    The identifier of the block list you want to update.

  • name (Optional[QuerySuggestionsBlockListName], default: None ) –

    A new name for the block list.

  • description (Optional[Description], default: None ) –

    A new description for the block list.

  • source_s3_path (Optional[S3Path], default: None ) –

    The S3 path where your block list text file sits in S3.

    If you update your block list and provide the same path to the block list text file in S3, then Amazon Kendra reloads the file to refresh the block list. Amazon Kendra does not automatically refresh your block list. You need to call the UpdateQuerySuggestionsBlockList API to refresh you block list.

    If you update your block list, then Amazon Kendra asynchronously refreshes all query suggestions with the latest content in the S3 file. This means changes might not take effect immediately.

  • role_arn (Optional[RoleArn], default: None ) –

    The IAM (Identity and Access Management) role used to access the block list text file in S3.

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 update_query_suggestions_block_list(
    self,
    index_id: "capo_kendra.types.index_id.IndexId",
    id: "capo_kendra.types.query_suggestions_block_list_id.QuerySuggestionsBlockListId",
    *,
    config_overrides: Optional[kendraClientConfig] = None,
    name: Optional[
        "capo_kendra.types.query_suggestions_block_list_name.QuerySuggestionsBlockListName"
    ] = None,
    description: Optional["capo_kendra.types.description.Description"] = None,
    source_s3_path: Optional["capo_kendra.types.s3_path.S3Path"] = None,
    role_arn: Optional["capo_kendra.types.role_arn.RoleArn"] = None,
) -> None:
    """<p>Updates a block list used for query suggestions for an index.</p> <p>Updates to a block list might not take effect right away. Amazon Kendra needs to refresh the entire suggestions list to apply any updates to the block list. Other changes not related to the block list apply immediately.</p> <p>If a block list is updating, then you need to wait for the first update to finish before submitting another update.</p> <p>Amazon Kendra supports partial updates, so you only need to provide the fields you want to update.</p> <p> <code>UpdateQuerySuggestionsBlockList</code> is currently not supported in the Amazon Web Services GovCloud (US-West) region.</p>

    Args:
        index_id: <p>The identifier of the index for the block list.</p>
        id: <p>The identifier of the block list you want to update.</p>
        name: <p>A new name for the block list.</p>
        description: <p>A new description for the block list.</p>
        source_s3_path: <p>The S3 path where your block list text file sits in S3.</p> <p>If you update your block list and provide the same path to the block list text file in S3, then Amazon Kendra reloads the file to refresh the block list. Amazon Kendra does not automatically refresh your block list. You need to call the <code>UpdateQuerySuggestionsBlockList</code> API to refresh you block list.</p> <p>If you update your block list, then Amazon Kendra asynchronously refreshes all query suggestions with the latest content in the S3 file. This means changes might not take effect immediately.</p>
        role_arn: <p>The IAM (Identity and Access Management) role used to access the block list text file in S3.</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.update_query_suggestions_block_list_request.UpdateQuerySuggestionsBlockListRequest]",
    ) -> OperationResponse[None]:
        import capo_kendra._operations.aws_kendra_frontend_service.update_query_suggestions_block_list

        output, http_response = (
            capo_kendra._operations.aws_kendra_frontend_service.update_query_suggestions_block_list.update_query_suggestions_block_list(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateQuerySuggestionsBlockList")
    )
    input_: capo_kendra.types.update_query_suggestions_block_list_request.UpdateQuerySuggestionsBlockListRequest = {
        "index_id": index_id,
        "id": id,
    }
    if name is not None:
        input_["name"] = name
    if description is not None:
        input_["description"] = description
    if source_s3_path is not None:
        input_["source_s3_path"] = source_s3_path
    if role_arn is not None:
        input_["role_arn"] = role_arn

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output