Skip to content

create_adapter_version async

create_adapter_version(
    adapter_id: AdapterId,
    dataset_config: AdapterVersionDatasetConfig,
    output_config: OutputConfig,
    *,
    config_overrides: Optional[AsyncTextractClientConfig] = None,
    client_request_token: Optional[ClientRequestToken] = None,
    kms_key_id: Optional[KMSKeyId] = None,
    tags: Optional[TagMap] = None,
) -> CreateAdapterVersionResponse

Creates a new version of an adapter. Operates on a provided AdapterId and a specified dataset provided via the DatasetConfig argument. Requires that you specify an Amazon S3 bucket with the OutputConfig argument. You can provide an optional KMSKeyId, an optional ClientRequestToken, and optional tags.

Parameters:

  • adapter_id (AdapterId) –

    A string containing a unique ID for the adapter that will receive a new version.

  • client_request_token (Optional[ClientRequestToken], default: None ) –

    Idempotent token is used to recognize the request. If the same token is used with multiple CreateAdapterVersion requests, the same session is returned. This token is employed to avoid unintentionally creating the same session multiple times.

  • dataset_config (AdapterVersionDatasetConfig) –

    Specifies a dataset used to train a new adapter version. Takes a ManifestS3Object as the value.

  • kms_key_id (Optional[KMSKeyId], default: None ) –

    The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

  • tags (Optional[TagMap], default: None ) –

    A set of tags (key-value pairs) that you want to attach to the adapter version.

Raises:

  • AccessDeniedException –

    You aren't authorized to perform the action. Use the Amazon Resource Name (ARN) of an authorized user or IAM role to perform the operation.

  • ConflictException –

    Updating or deleting a resource can cause an inconsistent state.

  • IdempotentParameterMismatchException –

    A ClientRequestToken input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation.

  • InternalServerError –

    Amazon Textract experienced a service issue. Try your call again.

  • InvalidKMSKeyException –

    Indicates you do not have decrypt permissions with the KMS key entered, or the KMS key was entered incorrectly.

  • InvalidParameterException –

    An input parameter violated a constraint. For example, in synchronous operations, an InvalidParameterException exception occurs when neither of the S3Object or Bytes values are supplied in the Document request parameter. Validate your parameter before calling the API operation again.

  • InvalidS3ObjectException –

    Amazon Textract is unable to access the S3 object that's specified in the request. for more information, Configure Access to Amazon S3 For troubleshooting information, see Troubleshooting Amazon S3

  • LimitExceededException –

    An Amazon Textract service limit was exceeded. For example, if you start too many asynchronous jobs concurrently, calls to start operations (StartDocumentTextDetection, for example) raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Textract service limit.

  • ProvisionedThroughputExceededException –

    The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Textract.

  • ResourceNotFoundException –

    Returned when an operation tried to access a nonexistent resource.

  • ServiceQuotaExceededException –

    Returned when a request cannot be completed as it would exceed a maximum service quota.

  • ThrottlingException –

    Amazon Textract is temporarily unable to process the request. Try your call again.

  • ValidationException –

    Indicates that a request was not valid. Check request for proper formatting.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_textract/_services/async_textract.py
async def create_adapter_version(
    self,
    adapter_id: "capo_textract.types.adapter_id.AdapterId",
    dataset_config: "capo_textract.types.adapter_version_dataset_config.AdapterVersionDatasetConfig",
    output_config: "capo_textract.types.output_config.OutputConfig",
    *,
    config_overrides: Optional[AsyncTextractClientConfig] = None,
    client_request_token: Optional[
        "capo_textract.types.client_request_token.ClientRequestToken"
    ] = None,
    kms_key_id: Optional["capo_textract.types.kms_key_id.KMSKeyId"] = None,
    tags: Optional["capo_textract.types.tag_map.TagMap"] = None,
) -> "capo_textract.types.create_adapter_version_response.CreateAdapterVersionResponse":
    """<p>Creates a new version of an adapter. Operates on a provided AdapterId and a specified dataset provided via the DatasetConfig argument. Requires that you specify an Amazon S3 bucket with the OutputConfig argument. You can provide an optional KMSKeyId, an optional ClientRequestToken, and optional tags.</p>

    Args:
        adapter_id: <p>A string containing a unique ID for the adapter that will receive a new version.</p>
        client_request_token: <p>Idempotent token is used to recognize the request. If the same token is used with multiple CreateAdapterVersion requests, the same session is returned. This token is employed to avoid unintentionally creating the same session multiple times.</p>
        dataset_config: <p>Specifies a dataset used to train a new adapter version. Takes a ManifestS3Object as the value.</p>
        kms_key_id: <p>The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.</p>
        tags: <p>A set of tags (key-value pairs) that you want to attach to the adapter version. </p>

    Raises:
        capo_textract.errors.access_denied_exception.AccessDeniedException: <p>You aren't authorized to perform the action. Use the Amazon Resource Name (ARN) of an authorized user or IAM role to perform the operation.</p>
        capo_textract.errors.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_textract.errors.idempotent_parameter_mismatch_exception.IdempotentParameterMismatchException: <p>A <code>ClientRequestToken</code> input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation. </p>
        capo_textract.errors.internal_server_error.InternalServerError: <p>Amazon Textract experienced a service issue. Try your call again.</p>
        capo_textract.errors.invalid_kms_key_exception.InvalidKMSKeyException: <p> Indicates you do not have decrypt permissions with the KMS key entered, or the KMS key was entered incorrectly. </p>
        capo_textract.errors.invalid_parameter_exception.InvalidParameterException: <p>An input parameter violated a constraint. For example, in synchronous operations, an <code>InvalidParameterException</code> exception occurs when neither of the <code>S3Object</code> or <code>Bytes</code> values are supplied in the <code>Document</code> request parameter. Validate your parameter before calling the API operation again.</p>
        capo_textract.errors.invalid_s3_object_exception.InvalidS3ObjectException: <p>Amazon Textract is unable to access the S3 object that's specified in the request. for more information, <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Configure Access to Amazon S3</a> For troubleshooting information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/troubleshooting.html">Troubleshooting Amazon S3</a> </p>
        capo_textract.errors.limit_exceeded_exception.LimitExceededException: <p>An Amazon Textract service limit was exceeded. For example, if you start too many asynchronous jobs concurrently, calls to start operations (<code>StartDocumentTextDetection</code>, for example) raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Textract service limit. </p>
        capo_textract.errors.provisioned_throughput_exceeded_exception.ProvisionedThroughputExceededException: <p>The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Textract.</p>
        capo_textract.errors.resource_not_found_exception.ResourceNotFoundException: <p> Returned when an operation tried to access a nonexistent resource. </p>
        capo_textract.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Returned when a request cannot be completed as it would exceed a maximum service quota.</p>
        capo_textract.errors.throttling_exception.ThrottlingException: <p>Amazon Textract is temporarily unable to process the request. Try your call again.</p>
        capo_textract.errors.validation_exception.ValidationException: <p> Indicates that a request was not valid. Check request for proper formatting. </p>
        capo_textract.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_textract.types.create_adapter_version_request.CreateAdapterVersionRequest]",
    ) -> AsyncOperationResponse[
        "capo_textract.types.create_adapter_version_response.CreateAdapterVersionResponse"
    ]:
        import capo_textract._operations.textract.create_adapter_version

        (
            output,
            http_response,
        ) = await capo_textract._operations.textract.create_adapter_version.async_create_adapter_version(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateAdapterVersion")
    )
    input_: capo_textract.types.create_adapter_version_request.CreateAdapterVersionRequest = {
        "adapter_id": adapter_id,
        "dataset_config": dataset_config,
        "output_config": output_config,
    }
    if client_request_token is None:
        client_request_token = str(uuid.uuid4())
    input_["client_request_token"] = client_request_token
    if kms_key_id is not None:
        input_["kms_key_id"] = kms_key_id
    if tags is not None:
        input_["tags"] = tags

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