Skip to content

update_data_source async

update_data_source(
    id: DataSourceId,
    index_id: IndexId,
    *,
    config_overrides: Optional[AsynckendraClientConfig] = None,
    name: Optional[DataSourceName] = None,
    configuration: Optional[DataSourceConfiguration] = None,
    vpc_configuration: Optional[DataSourceVpcConfiguration] = None,
    description: Optional[Description] = None,
    schedule: Optional[ScanSchedule] = None,
    role_arn: Optional[RoleArn] = None,
    language_code: Optional[LanguageCode] = None,
    custom_document_enrichment_configuration: Optional[
        CustomDocumentEnrichmentConfiguration
    ] = None,
) -> None

Updates an Amazon Kendra data source connector.

Parameters:

  • id (DataSourceId) –

    The identifier of the data source connector you want to update.

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

    A new name for the data source connector.

  • index_id (IndexId) –

    The identifier of the index used with the data source connector.

  • configuration (Optional[DataSourceConfiguration], default: None ) –

    Configuration information you want to update for the data source connector.

  • vpc_configuration (Optional[DataSourceVpcConfiguration], default: None ) –

    Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see Configuring a VPC.

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

    A new description for the data source connector.

  • schedule (Optional[ScanSchedule], default: None ) –

    The sync schedule you want to update for the data source connector.

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

    The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources. For more information, see IAM roles for Amazon Kendra.

  • language_code (Optional[LanguageCode], default: None ) –

    The code for a language you want to update for the data source connector. This allows you to support a language for all documents when updating the data source. English is supported by default. For more information on supported languages, including their codes, see Adding documents in languages other than English.

  • custom_document_enrichment_configuration (Optional[CustomDocumentEnrichmentConfiguration], default: None ) –

    Configuration information you want to update for altering document metadata and content during the document ingestion process.

    For more information on how to create, modify and delete document metadata, or make other content alterations when you ingest documents into Amazon Kendra, see Customizing document metadata during the ingestion process.

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/async_kendra.py
async def update_data_source(
    self,
    id: "capo_kendra.types.data_source_id.DataSourceId",
    index_id: "capo_kendra.types.index_id.IndexId",
    *,
    config_overrides: Optional[AsynckendraClientConfig] = None,
    name: Optional["capo_kendra.types.data_source_name.DataSourceName"] = None,
    configuration: Optional[
        "capo_kendra.types.data_source_configuration.DataSourceConfiguration"
    ] = None,
    vpc_configuration: Optional[
        "capo_kendra.types.data_source_vpc_configuration.DataSourceVpcConfiguration"
    ] = None,
    description: Optional["capo_kendra.types.description.Description"] = None,
    schedule: Optional["capo_kendra.types.scan_schedule.ScanSchedule"] = None,
    role_arn: Optional["capo_kendra.types.role_arn.RoleArn"] = None,
    language_code: Optional["capo_kendra.types.language_code.LanguageCode"] = None,
    custom_document_enrichment_configuration: Optional[
        "capo_kendra.types.custom_document_enrichment_configuration.CustomDocumentEnrichmentConfiguration"
    ] = None,
) -> None:
    """<p>Updates an Amazon Kendra data source connector.</p>

    Args:
        id: <p>The identifier of the data source connector you want to update.</p>
        name: <p>A new name for the data source connector.</p>
        index_id: <p>The identifier of the index used with the data source connector.</p>
        configuration: <p>Configuration information you want to update for the data source connector.</p>
        vpc_configuration: <p>Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html">Configuring a VPC</a>.</p>
        description: <p>A new description for the data source connector.</p>
        schedule: <p>The sync schedule you want to update for the data source connector.</p>
        role_arn: <p>The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html">IAM roles for Amazon Kendra</a>.</p>
        language_code: <p>The code for a language you want to update for the data source connector. This allows you to support a language for all documents when updating the data source. English is supported by default. For more information on supported languages, including their codes, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html">Adding documents in languages other than English</a>.</p>
        custom_document_enrichment_configuration: <p>Configuration information you want to update for altering document metadata and content during the document ingestion process.</p> <p>For more information on how to create, modify and delete document metadata, or make other content alterations when you ingest documents into Amazon Kendra, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html">Customizing document metadata during the ingestion process</a>.</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.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kendra.types.update_data_source_request.UpdateDataSourceRequest]",
    ) -> AsyncOperationResponse[None]:
        import capo_kendra._operations.aws_kendra_frontend_service.update_data_source

        (
            output,
            http_response,
        ) = await capo_kendra._operations.aws_kendra_frontend_service.update_data_source.async_update_data_source(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDataSource")
    )
    input_: capo_kendra.types.update_data_source_request.UpdateDataSourceRequest = {
        "id": id,
        "index_id": index_id,
    }
    if name is not None:
        input_["name"] = name
    if configuration is not None:
        input_["configuration"] = configuration
    if vpc_configuration is not None:
        input_["vpc_configuration"] = vpc_configuration
    if description is not None:
        input_["description"] = description
    if schedule is not None:
        input_["schedule"] = schedule
    if role_arn is not None:
        input_["role_arn"] = role_arn
    if language_code is not None:
        input_["language_code"] = language_code
    if custom_document_enrichment_configuration is not None:
        input_["custom_document_enrichment_configuration"] = (
            custom_document_enrichment_configuration
        )

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output