Skip to content

analyze_id

analyze_id(
    document_pages: DocumentPages,
    *,
    config_overrides: Optional[TextractClientConfig] = None,
) -> AnalyzeIDResponse

Analyzes identity documents for relevant information. This information is extracted and returned as IdentityDocumentFields, which records both the normalized field and value of the extracted text. Unlike other Amazon Textract operations, AnalyzeID doesn't return any Geometry data.

Parameters:

  • document_pages (DocumentPages) –

    The document being passed to AnalyzeID.

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.

  • BadDocumentException –

    Amazon Textract isn't able to read the document. For more information on the document limits in Amazon Textract, see Hard limits.

  • DocumentTooLargeException –

    The document can't be processed because it's too large. The maximum document size for synchronous operations 10 MB. The maximum document size for asynchronous operations is 500 MB for PDF files.

  • InternalServerError –

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

  • 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

  • ProvisionedThroughputExceededException –

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

  • ThrottlingException –

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

  • UnsupportedDocumentException –

    The format of the input document isn't supported. Documents for operations can be in PNG, JPEG, PDF, or TIFF format.

  • UnknownServiceError –

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

Source code in docs_src/capo_textract/_services/textract.py
def analyze_id(
    self,
    document_pages: "capo_textract.types.document_pages.DocumentPages",
    *,
    config_overrides: Optional[TextractClientConfig] = None,
) -> "capo_textract.types.analyze_id_response.AnalyzeIDResponse":
    """<p>Analyzes identity documents for relevant information. This information is extracted and returned as <code>IdentityDocumentFields</code>, which records both the normalized field and value of the extracted text. Unlike other Amazon Textract operations, <code>AnalyzeID</code> doesn't return any Geometry data.</p>

    Args:
        document_pages: <p>The document being passed to AnalyzeID.</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.bad_document_exception.BadDocumentException: <p>Amazon Textract isn't able to read the document. For more information on the document limits in Amazon Textract, see <a href="https://docs.aws.amazon.com/textract/latest/dg/limits.html">Hard limits</a>.</p>
        capo_textract.errors.document_too_large_exception.DocumentTooLargeException: <p>The document can't be processed because it's too large. The maximum document size for synchronous operations 10 MB. The maximum document size for asynchronous operations is 500 MB for PDF files.</p>
        capo_textract.errors.internal_server_error.InternalServerError: <p>Amazon Textract experienced a service issue. Try your call again.</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.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.throttling_exception.ThrottlingException: <p>Amazon Textract is temporarily unable to process the request. Try your call again.</p>
        capo_textract.errors.unsupported_document_exception.UnsupportedDocumentException: <p>The format of the input document isn't supported. Documents for operations can be in PNG, JPEG, PDF, or TIFF format.</p>
        capo_textract.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_textract.types.analyze_id_request.AnalyzeIDRequest]",
    ) -> OperationResponse[
        "capo_textract.types.analyze_id_response.AnalyzeIDResponse"
    ]:
        import capo_textract._operations.textract.analyze_id

        output, http_response = (
            capo_textract._operations.textract.analyze_id.analyze_id(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AnalyzeID")
    )
    input_: capo_textract.types.analyze_id_request.AnalyzeIDRequest = {
        "document_pages": document_pages
    }

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