mirror of https://github.com/tidwall/tile38.git
2208 lines
78 KiB
Go
2208 lines
78 KiB
Go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
|
|
|
package textract
|
|
|
|
import (
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/aws/awsutil"
|
|
"github.com/aws/aws-sdk-go/aws/request"
|
|
)
|
|
|
|
const opAnalyzeDocument = "AnalyzeDocument"
|
|
|
|
// AnalyzeDocumentRequest generates a "aws/request.Request" representing the
|
|
// client's request for the AnalyzeDocument operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfully.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See AnalyzeDocument for more information on using the AnalyzeDocument
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the AnalyzeDocumentRequest method.
|
|
// req, resp := client.AnalyzeDocumentRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/AnalyzeDocument
|
|
func (c *Textract) AnalyzeDocumentRequest(input *AnalyzeDocumentInput) (req *request.Request, output *AnalyzeDocumentOutput) {
|
|
op := &request.Operation{
|
|
Name: opAnalyzeDocument,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &AnalyzeDocumentInput{}
|
|
}
|
|
|
|
output = &AnalyzeDocumentOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// AnalyzeDocument API operation for Amazon Textract.
|
|
//
|
|
// Analyzes an input document for relationships in the detected text and tables.
|
|
//
|
|
// Two types of information are returned:
|
|
//
|
|
// * Words and lines that are related to nearby lines and words. The related
|
|
// information is returned in two Block objects: a KEY Block object and a
|
|
// VALUE Block object. For example, Name: Ana Silva Carolina contains a key
|
|
// and value. Name: is the key. Ana Silva Carolina is the value.
|
|
//
|
|
// * Table and table cell data. A TABLE Block contains information about
|
|
// a detected table. A CELL block is returned for each cell in a table.
|
|
//
|
|
// You can choose which type of analysis to perform by specifying the FeatureTypes
|
|
// list.
|
|
//
|
|
// The output is returned in a list of BLOCK objects (Blocks). For more information,
|
|
// see how-it-works-analyzing.
|
|
//
|
|
// AnalyzeDocument is a synchronous operation. To analyze documents asynchronously,
|
|
// use StartDocumentAnalysis.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Textract's
|
|
// API operation AnalyzeDocument for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidParameterException "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.
|
|
//
|
|
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
|
|
// Amazon Textract is unable to access the S3 object that's specified in the
|
|
// request.
|
|
//
|
|
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
|
|
// The format of the input document isn't supported. Amazon Textract supports
|
|
// documents that are .png or .jpg format.
|
|
//
|
|
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
|
|
// The document can't be processed because it's too large. The maximum document
|
|
// size for synchronous operations 5 MB. The maximum document size for asynchronous
|
|
// operations is 500 MB for PDF format files.
|
|
//
|
|
// * ErrCodeBadDocumentException "BadDocumentException"
|
|
// Amazon Textract isn't able to read the document.
|
|
//
|
|
// * ErrCodeAccessDeniedException "AccessDeniedException"
|
|
// You aren't authorized to perform the action.
|
|
//
|
|
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
|
// The number of requests exceeded your throughput limit. If you want to increase
|
|
// this limit, contact Amazon Textract.
|
|
//
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Amazon Textract experienced a service issue. Try your call again.
|
|
//
|
|
// * ErrCodeThrottlingException "ThrottlingException"
|
|
// Amazon Textract is temporarily unable to process the request. Try your call
|
|
// again.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/AnalyzeDocument
|
|
func (c *Textract) AnalyzeDocument(input *AnalyzeDocumentInput) (*AnalyzeDocumentOutput, error) {
|
|
req, out := c.AnalyzeDocumentRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// AnalyzeDocumentWithContext is the same as AnalyzeDocument with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See AnalyzeDocument for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *Textract) AnalyzeDocumentWithContext(ctx aws.Context, input *AnalyzeDocumentInput, opts ...request.Option) (*AnalyzeDocumentOutput, error) {
|
|
req, out := c.AnalyzeDocumentRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDetectDocumentText = "DetectDocumentText"
|
|
|
|
// DetectDocumentTextRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DetectDocumentText operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfully.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DetectDocumentText for more information on using the DetectDocumentText
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DetectDocumentTextRequest method.
|
|
// req, resp := client.DetectDocumentTextRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/DetectDocumentText
|
|
func (c *Textract) DetectDocumentTextRequest(input *DetectDocumentTextInput) (req *request.Request, output *DetectDocumentTextOutput) {
|
|
op := &request.Operation{
|
|
Name: opDetectDocumentText,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DetectDocumentTextInput{}
|
|
}
|
|
|
|
output = &DetectDocumentTextOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// DetectDocumentText API operation for Amazon Textract.
|
|
//
|
|
// Detects text in the input document. Amazon Textract can detect lines of text
|
|
// and the words that make up a line of text. The input document must be an
|
|
// image in JPG or PNG format. DetectDocumentText returns the detected text
|
|
// in an array of Block objects. For more information, see how-it-works-detecting.
|
|
//
|
|
// DetectDocumentText is a synchronous operation. To analyze documents asynchronously,
|
|
// use StartDocumentTextDetection.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Textract's
|
|
// API operation DetectDocumentText for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidParameterException "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.
|
|
//
|
|
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
|
|
// Amazon Textract is unable to access the S3 object that's specified in the
|
|
// request.
|
|
//
|
|
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
|
|
// The format of the input document isn't supported. Amazon Textract supports
|
|
// documents that are .png or .jpg format.
|
|
//
|
|
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
|
|
// The document can't be processed because it's too large. The maximum document
|
|
// size for synchronous operations 5 MB. The maximum document size for asynchronous
|
|
// operations is 500 MB for PDF format files.
|
|
//
|
|
// * ErrCodeBadDocumentException "BadDocumentException"
|
|
// Amazon Textract isn't able to read the document.
|
|
//
|
|
// * ErrCodeAccessDeniedException "AccessDeniedException"
|
|
// You aren't authorized to perform the action.
|
|
//
|
|
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
|
// The number of requests exceeded your throughput limit. If you want to increase
|
|
// this limit, contact Amazon Textract.
|
|
//
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Amazon Textract experienced a service issue. Try your call again.
|
|
//
|
|
// * ErrCodeThrottlingException "ThrottlingException"
|
|
// Amazon Textract is temporarily unable to process the request. Try your call
|
|
// again.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/DetectDocumentText
|
|
func (c *Textract) DetectDocumentText(input *DetectDocumentTextInput) (*DetectDocumentTextOutput, error) {
|
|
req, out := c.DetectDocumentTextRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DetectDocumentTextWithContext is the same as DetectDocumentText with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DetectDocumentText for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *Textract) DetectDocumentTextWithContext(ctx aws.Context, input *DetectDocumentTextInput, opts ...request.Option) (*DetectDocumentTextOutput, error) {
|
|
req, out := c.DetectDocumentTextRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opGetDocumentAnalysis = "GetDocumentAnalysis"
|
|
|
|
// GetDocumentAnalysisRequest generates a "aws/request.Request" representing the
|
|
// client's request for the GetDocumentAnalysis operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfully.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See GetDocumentAnalysis for more information on using the GetDocumentAnalysis
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the GetDocumentAnalysisRequest method.
|
|
// req, resp := client.GetDocumentAnalysisRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentAnalysis
|
|
func (c *Textract) GetDocumentAnalysisRequest(input *GetDocumentAnalysisInput) (req *request.Request, output *GetDocumentAnalysisOutput) {
|
|
op := &request.Operation{
|
|
Name: opGetDocumentAnalysis,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &GetDocumentAnalysisInput{}
|
|
}
|
|
|
|
output = &GetDocumentAnalysisOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// GetDocumentAnalysis API operation for Amazon Textract.
|
|
//
|
|
// Gets the results for an Amazon Textract asynchronous operation that analyzes
|
|
// text in a document image.
|
|
//
|
|
// You start asynchronous text analysis by calling StartDocumentAnalysis, which
|
|
// returns a job identifier (JobId). When the text analysis operation finishes,
|
|
// Amazon Textract publishes a completion status to the Amazon Simple Notification
|
|
// Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis.
|
|
// To get the results of the text-detection operation, first check that the
|
|
// status value published to the Amazon SNS topic is SUCCEEDED. If so, call
|
|
// GetDocumentAnalysis, and pass the job identifier (JobId) from the initial
|
|
// call to StartDocumentAnalysis.
|
|
//
|
|
// GetDocumentAnalysis returns an array of Block objects. For more information,
|
|
// see how-it-works-analyzing.
|
|
//
|
|
// Use the MaxResults parameter to limit the number of blocks returned. If there
|
|
// are more results than specified in MaxResults, the value of NextToken in
|
|
// the operation response contains a pagination token for getting the next set
|
|
// of results. To get the next page of results, call GetDocumentAnalysis, and
|
|
// populate the NextToken request parameter with the token value that's returned
|
|
// from the previous call to GetDocumentAnalysis.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Textract's
|
|
// API operation GetDocumentAnalysis for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidParameterException "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.
|
|
//
|
|
// * ErrCodeAccessDeniedException "AccessDeniedException"
|
|
// You aren't authorized to perform the action.
|
|
//
|
|
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
|
// The number of requests exceeded your throughput limit. If you want to increase
|
|
// this limit, contact Amazon Textract.
|
|
//
|
|
// * ErrCodeInvalidJobIdException "InvalidJobIdException"
|
|
// An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis.
|
|
//
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Amazon Textract experienced a service issue. Try your call again.
|
|
//
|
|
// * ErrCodeThrottlingException "ThrottlingException"
|
|
// Amazon Textract is temporarily unable to process the request. Try your call
|
|
// again.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentAnalysis
|
|
func (c *Textract) GetDocumentAnalysis(input *GetDocumentAnalysisInput) (*GetDocumentAnalysisOutput, error) {
|
|
req, out := c.GetDocumentAnalysisRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// GetDocumentAnalysisWithContext is the same as GetDocumentAnalysis with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See GetDocumentAnalysis for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *Textract) GetDocumentAnalysisWithContext(ctx aws.Context, input *GetDocumentAnalysisInput, opts ...request.Option) (*GetDocumentAnalysisOutput, error) {
|
|
req, out := c.GetDocumentAnalysisRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opGetDocumentTextDetection = "GetDocumentTextDetection"
|
|
|
|
// GetDocumentTextDetectionRequest generates a "aws/request.Request" representing the
|
|
// client's request for the GetDocumentTextDetection operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfully.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See GetDocumentTextDetection for more information on using the GetDocumentTextDetection
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the GetDocumentTextDetectionRequest method.
|
|
// req, resp := client.GetDocumentTextDetectionRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentTextDetection
|
|
func (c *Textract) GetDocumentTextDetectionRequest(input *GetDocumentTextDetectionInput) (req *request.Request, output *GetDocumentTextDetectionOutput) {
|
|
op := &request.Operation{
|
|
Name: opGetDocumentTextDetection,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &GetDocumentTextDetectionInput{}
|
|
}
|
|
|
|
output = &GetDocumentTextDetectionOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// GetDocumentTextDetection API operation for Amazon Textract.
|
|
//
|
|
// Gets the results for an Amazon Textract asynchronous operation that detects
|
|
// text in a document image. Amazon Textract can detect lines of text and the
|
|
// words that make up a line of text.
|
|
//
|
|
// You start asynchronous text detection by calling StartDocumentTextDetection,
|
|
// which returns a job identifier (JobId). When the text detection operation
|
|
// finishes, Amazon Textract publishes a completion status to the Amazon Simple
|
|
// Notification Service (Amazon SNS) topic that's registered in the initial
|
|
// call to StartDocumentTextDetection. To get the results of the text-detection
|
|
// operation, first check that the status value published to the Amazon SNS
|
|
// topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job
|
|
// identifier (JobId) from the initial call to StartDocumentTextDetection.
|
|
//
|
|
// GetDocumentTextDetection returns an array of Block objects. For more information,
|
|
// see how-it-works-detecting.
|
|
//
|
|
// Use the MaxResults parameter to limit the number of blocks that are returned.
|
|
// If there are more results than specified in MaxResults, the value of NextToken
|
|
// in the operation response contains a pagination token for getting the next
|
|
// set of results. To get the next page of results, call GetDocumentTextDetection,
|
|
// and populate the NextToken request parameter with the token value that's
|
|
// returned from the previous call to GetDocumentTextDetection.
|
|
//
|
|
// For more information, see Document Text Detection in the Amazon Textract
|
|
// Developer Guide.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Textract's
|
|
// API operation GetDocumentTextDetection for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidParameterException "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.
|
|
//
|
|
// * ErrCodeAccessDeniedException "AccessDeniedException"
|
|
// You aren't authorized to perform the action.
|
|
//
|
|
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
|
// The number of requests exceeded your throughput limit. If you want to increase
|
|
// this limit, contact Amazon Textract.
|
|
//
|
|
// * ErrCodeInvalidJobIdException "InvalidJobIdException"
|
|
// An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis.
|
|
//
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Amazon Textract experienced a service issue. Try your call again.
|
|
//
|
|
// * ErrCodeThrottlingException "ThrottlingException"
|
|
// Amazon Textract is temporarily unable to process the request. Try your call
|
|
// again.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentTextDetection
|
|
func (c *Textract) GetDocumentTextDetection(input *GetDocumentTextDetectionInput) (*GetDocumentTextDetectionOutput, error) {
|
|
req, out := c.GetDocumentTextDetectionRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// GetDocumentTextDetectionWithContext is the same as GetDocumentTextDetection with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See GetDocumentTextDetection for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *Textract) GetDocumentTextDetectionWithContext(ctx aws.Context, input *GetDocumentTextDetectionInput, opts ...request.Option) (*GetDocumentTextDetectionOutput, error) {
|
|
req, out := c.GetDocumentTextDetectionRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opStartDocumentAnalysis = "StartDocumentAnalysis"
|
|
|
|
// StartDocumentAnalysisRequest generates a "aws/request.Request" representing the
|
|
// client's request for the StartDocumentAnalysis operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfully.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See StartDocumentAnalysis for more information on using the StartDocumentAnalysis
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the StartDocumentAnalysisRequest method.
|
|
// req, resp := client.StartDocumentAnalysisRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentAnalysis
|
|
func (c *Textract) StartDocumentAnalysisRequest(input *StartDocumentAnalysisInput) (req *request.Request, output *StartDocumentAnalysisOutput) {
|
|
op := &request.Operation{
|
|
Name: opStartDocumentAnalysis,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &StartDocumentAnalysisInput{}
|
|
}
|
|
|
|
output = &StartDocumentAnalysisOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// StartDocumentAnalysis API operation for Amazon Textract.
|
|
//
|
|
// Starts asynchronous analysis of text for relationships in the text and tables
|
|
// that are detected in a document. Amazon Textract returns for two types of
|
|
// information:
|
|
//
|
|
// * Words and lines that are related to nearby lines and words. The related
|
|
// information is returned in two Block objects: A KEY Block object and a
|
|
// VALUE Block object. For example, Name: Ana Silva Carolina contains a key
|
|
// and value. Name: is the key. Ana Silva Carolina is the value.
|
|
//
|
|
// * Table and table cell data. A TABLE block contains information about
|
|
// a detected table. A CELL block is returned for each cell in a table.
|
|
//
|
|
// Amazon Textract can analyze text in document images and PDF files that are
|
|
// stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket
|
|
// name and file name of the document image.
|
|
//
|
|
// StartDocumentAnalysis returns a job identifier (JobId) that you use to get
|
|
// the results of the operation. When text analysis is finished, Amazon Textract
|
|
// publishes a completion status to the Amazon Simple Notification Service (Amazon
|
|
// SNS) topic that you specify in NotificationChannel. To get the results of
|
|
// the text analysis operation, first check that the status value published
|
|
// to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and
|
|
// pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Textract's
|
|
// API operation StartDocumentAnalysis for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidParameterException "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.
|
|
//
|
|
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
|
|
// Amazon Textract is unable to access the S3 object that's specified in the
|
|
// request.
|
|
//
|
|
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
|
|
// The format of the input document isn't supported. Amazon Textract supports
|
|
// documents that are .png or .jpg format.
|
|
//
|
|
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
|
|
// The document can't be processed because it's too large. The maximum document
|
|
// size for synchronous operations 5 MB. The maximum document size for asynchronous
|
|
// operations is 500 MB for PDF format files.
|
|
//
|
|
// * ErrCodeBadDocumentException "BadDocumentException"
|
|
// Amazon Textract isn't able to read the document.
|
|
//
|
|
// * ErrCodeAccessDeniedException "AccessDeniedException"
|
|
// You aren't authorized to perform the action.
|
|
//
|
|
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
|
// The number of requests exceeded your throughput limit. If you want to increase
|
|
// this limit, contact Amazon Textract.
|
|
//
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Amazon Textract experienced a service issue. Try your call again.
|
|
//
|
|
// * ErrCodeIdempotentParameterMismatchException "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.
|
|
//
|
|
// * ErrCodeThrottlingException "ThrottlingException"
|
|
// Amazon Textract is temporarily unable to process the request. Try your call
|
|
// again.
|
|
//
|
|
// * ErrCodeLimitExceededException "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.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentAnalysis
|
|
func (c *Textract) StartDocumentAnalysis(input *StartDocumentAnalysisInput) (*StartDocumentAnalysisOutput, error) {
|
|
req, out := c.StartDocumentAnalysisRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// StartDocumentAnalysisWithContext is the same as StartDocumentAnalysis with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See StartDocumentAnalysis for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *Textract) StartDocumentAnalysisWithContext(ctx aws.Context, input *StartDocumentAnalysisInput, opts ...request.Option) (*StartDocumentAnalysisOutput, error) {
|
|
req, out := c.StartDocumentAnalysisRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opStartDocumentTextDetection = "StartDocumentTextDetection"
|
|
|
|
// StartDocumentTextDetectionRequest generates a "aws/request.Request" representing the
|
|
// client's request for the StartDocumentTextDetection operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfully.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See StartDocumentTextDetection for more information on using the StartDocumentTextDetection
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the StartDocumentTextDetectionRequest method.
|
|
// req, resp := client.StartDocumentTextDetectionRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentTextDetection
|
|
func (c *Textract) StartDocumentTextDetectionRequest(input *StartDocumentTextDetectionInput) (req *request.Request, output *StartDocumentTextDetectionOutput) {
|
|
op := &request.Operation{
|
|
Name: opStartDocumentTextDetection,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &StartDocumentTextDetectionInput{}
|
|
}
|
|
|
|
output = &StartDocumentTextDetectionOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// StartDocumentTextDetection API operation for Amazon Textract.
|
|
//
|
|
// Starts the asynchronous detection of text in a document. Amazon Textract
|
|
// can detect lines of text and the words that make up a line of text.
|
|
//
|
|
// Amazon Textract can detect text in document images and PDF files that are
|
|
// stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket
|
|
// name and the file name of the document image.
|
|
//
|
|
// StartTextDetection returns a job identifier (JobId) that you use to get the
|
|
// results of the operation. When text detection is finished, Amazon Textract
|
|
// publishes a completion status to the Amazon Simple Notification Service (Amazon
|
|
// SNS) topic that you specify in NotificationChannel. To get the results of
|
|
// the text detection operation, first check that the status value published
|
|
// to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection,
|
|
// and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.
|
|
//
|
|
// For more information, see Document Text Detection in the Amazon Textract
|
|
// Developer Guide.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Textract's
|
|
// API operation StartDocumentTextDetection for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidParameterException "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.
|
|
//
|
|
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
|
|
// Amazon Textract is unable to access the S3 object that's specified in the
|
|
// request.
|
|
//
|
|
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
|
|
// The format of the input document isn't supported. Amazon Textract supports
|
|
// documents that are .png or .jpg format.
|
|
//
|
|
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
|
|
// The document can't be processed because it's too large. The maximum document
|
|
// size for synchronous operations 5 MB. The maximum document size for asynchronous
|
|
// operations is 500 MB for PDF format files.
|
|
//
|
|
// * ErrCodeBadDocumentException "BadDocumentException"
|
|
// Amazon Textract isn't able to read the document.
|
|
//
|
|
// * ErrCodeAccessDeniedException "AccessDeniedException"
|
|
// You aren't authorized to perform the action.
|
|
//
|
|
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
|
// The number of requests exceeded your throughput limit. If you want to increase
|
|
// this limit, contact Amazon Textract.
|
|
//
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Amazon Textract experienced a service issue. Try your call again.
|
|
//
|
|
// * ErrCodeIdempotentParameterMismatchException "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.
|
|
//
|
|
// * ErrCodeThrottlingException "ThrottlingException"
|
|
// Amazon Textract is temporarily unable to process the request. Try your call
|
|
// again.
|
|
//
|
|
// * ErrCodeLimitExceededException "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.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentTextDetection
|
|
func (c *Textract) StartDocumentTextDetection(input *StartDocumentTextDetectionInput) (*StartDocumentTextDetectionOutput, error) {
|
|
req, out := c.StartDocumentTextDetectionRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// StartDocumentTextDetectionWithContext is the same as StartDocumentTextDetection with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See StartDocumentTextDetection for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *Textract) StartDocumentTextDetectionWithContext(ctx aws.Context, input *StartDocumentTextDetectionInput, opts ...request.Option) (*StartDocumentTextDetectionOutput, error) {
|
|
req, out := c.StartDocumentTextDetectionRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
type AnalyzeDocumentInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The input document as base64-encoded bytes or an Amazon S3 object. If you
|
|
// use the AWS CLI to call Amazon Textract operations, you can't pass image
|
|
// bytes. The document must be an image in JPG or PNG format.
|
|
//
|
|
// Document is a required field
|
|
Document *Document `type:"structure" required:"true"`
|
|
|
|
// A list of the types of analysis to perform. Add TABLES to the list to return
|
|
// information about the tables detected in the input document. Add FORMS to
|
|
// return detected fields and the associated text. To perform both types of
|
|
// analysis, add TABLES and FORMS to FeatureTypes.
|
|
//
|
|
// FeatureTypes is a required field
|
|
FeatureTypes []*string `type:"list" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AnalyzeDocumentInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AnalyzeDocumentInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AnalyzeDocumentInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AnalyzeDocumentInput"}
|
|
if s.Document == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Document"))
|
|
}
|
|
if s.FeatureTypes == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("FeatureTypes"))
|
|
}
|
|
if s.Document != nil {
|
|
if err := s.Document.Validate(); err != nil {
|
|
invalidParams.AddNested("Document", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetDocument sets the Document field's value.
|
|
func (s *AnalyzeDocumentInput) SetDocument(v *Document) *AnalyzeDocumentInput {
|
|
s.Document = v
|
|
return s
|
|
}
|
|
|
|
// SetFeatureTypes sets the FeatureTypes field's value.
|
|
func (s *AnalyzeDocumentInput) SetFeatureTypes(v []*string) *AnalyzeDocumentInput {
|
|
s.FeatureTypes = v
|
|
return s
|
|
}
|
|
|
|
type AnalyzeDocumentOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The text that's detected and analyzed by AnalyzeDocument.
|
|
Blocks []*Block `type:"list"`
|
|
|
|
// Metadata about the analyzed document. An example is the number of pages.
|
|
DocumentMetadata *DocumentMetadata `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AnalyzeDocumentOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AnalyzeDocumentOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBlocks sets the Blocks field's value.
|
|
func (s *AnalyzeDocumentOutput) SetBlocks(v []*Block) *AnalyzeDocumentOutput {
|
|
s.Blocks = v
|
|
return s
|
|
}
|
|
|
|
// SetDocumentMetadata sets the DocumentMetadata field's value.
|
|
func (s *AnalyzeDocumentOutput) SetDocumentMetadata(v *DocumentMetadata) *AnalyzeDocumentOutput {
|
|
s.DocumentMetadata = v
|
|
return s
|
|
}
|
|
|
|
// A Block represents text that's recognized in a document within a group of
|
|
// pixels close to each other. The information returned in a Block depends on
|
|
// the type of operation. In document-text detection (for example DetectDocumentText),
|
|
// you get information about the detected words and lines of text. In text analysis
|
|
// (for example AnalyzeDocument), you can get information about the fields and
|
|
// tables that are detected in the document.
|
|
//
|
|
// An array of Block objects is returned by both synchronous and asynchronous
|
|
// operations. In synchronous operations, such as DetectDocumentText, the array
|
|
// of Block objects is the entire set of results. In asynchronous operations,
|
|
// such as GetDocumentAnalysis, the array is returned over one or more responses.
|
|
type Block struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The type of text that's recognized in a block. In text-detection operations,
|
|
// the following types are returned:
|
|
//
|
|
// * PAGE - Contains a list of the LINE Block objects that are detected on
|
|
// a specific page.
|
|
//
|
|
// * WORD - One or more ISO basic Latin script characters that aren't separated
|
|
// by spaces.
|
|
//
|
|
// * LINE - A string of equally spaced words.
|
|
//
|
|
// In text analysis operations, the following types are returned:
|
|
//
|
|
// * PAGE - Contains a list of child Block objects that are detected on a
|
|
// specific page.
|
|
//
|
|
// * KEY_VALUE_SET - Stores the KEY and VALUE Block objects for a field that's
|
|
// detected in a document. Use the EntityType field to determine if a KEY_VALUE_SET
|
|
// object is a KEY Block object or a VALUE Block object.
|
|
//
|
|
// * WORD - One or more ISO basic Latin script characters that aren't separated
|
|
// by spaces.
|
|
//
|
|
// * LINE - A string of tab-delimited, contiguous words.
|
|
//
|
|
// * TABLE - A table that's detected in the document.
|
|
//
|
|
// * CELL - A cell within a detected table. The cell is the parent of the
|
|
// block that contains the text in the cell.
|
|
BlockType *string `type:"string" enum:"BlockType"`
|
|
|
|
// The column in which a table cell appears. The first column position is 1.
|
|
// ColumnIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.
|
|
ColumnIndex *int64 `type:"integer"`
|
|
|
|
// The number of columns that a table cell spans. ColumnSpan isn't returned
|
|
// by DetectDocumentText and GetDocumentTextDetection.
|
|
ColumnSpan *int64 `type:"integer"`
|
|
|
|
// The confidence that Amazon Textract has in the accuracy of the recognized
|
|
// text and the accuracy of the geometry points around the recognized text.
|
|
Confidence *float64 `type:"float"`
|
|
|
|
// The type of entity. The following can be returned:
|
|
//
|
|
// * KEY - An identifier for a field on the document.
|
|
//
|
|
// * VALUE - The field text.
|
|
//
|
|
// EntityTypes isn't returned by DetectDocumentText and GetDocumentTextDetection.
|
|
EntityTypes []*string `type:"list"`
|
|
|
|
// The location of the recognized text on the image. It includes an axis-aligned,
|
|
// coarse bounding box that surrounds the text, and a finer-grain polygon for
|
|
// more accurate spatial information.
|
|
Geometry *Geometry `type:"structure"`
|
|
|
|
// The identifier for the recognized text. The identifier is only unique for
|
|
// a single operation.
|
|
Id *string `type:"string"`
|
|
|
|
// The page in which a block was detected.
|
|
Page *int64 `type:"integer"`
|
|
|
|
// A list of child blocks of the current block. For example a LINE object has
|
|
// child blocks for each WORD block that's part of the line of text. There aren't
|
|
// Relationship objects in the list for relationships that don't exist, such
|
|
// as when the current block has no child blocks. The list size can be the following:
|
|
//
|
|
// * 0 - The block has no child blocks.
|
|
//
|
|
// * 1 - The block has child blocks.
|
|
Relationships []*Relationship `type:"list"`
|
|
|
|
// The row in which a table cell is located. The first row position is 1. RowIndex
|
|
// isn't returned by DetectDocumentText and GetDocumentTextDetection.
|
|
RowIndex *int64 `type:"integer"`
|
|
|
|
// The number of rows that a table spans. RowSpan isn't returned by DetectDocumentText
|
|
// and GetDocumentTextDetection.
|
|
RowSpan *int64 `type:"integer"`
|
|
|
|
// The word or line of text that's recognized by Amazon Textract.
|
|
Text *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Block) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Block) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBlockType sets the BlockType field's value.
|
|
func (s *Block) SetBlockType(v string) *Block {
|
|
s.BlockType = &v
|
|
return s
|
|
}
|
|
|
|
// SetColumnIndex sets the ColumnIndex field's value.
|
|
func (s *Block) SetColumnIndex(v int64) *Block {
|
|
s.ColumnIndex = &v
|
|
return s
|
|
}
|
|
|
|
// SetColumnSpan sets the ColumnSpan field's value.
|
|
func (s *Block) SetColumnSpan(v int64) *Block {
|
|
s.ColumnSpan = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfidence sets the Confidence field's value.
|
|
func (s *Block) SetConfidence(v float64) *Block {
|
|
s.Confidence = &v
|
|
return s
|
|
}
|
|
|
|
// SetEntityTypes sets the EntityTypes field's value.
|
|
func (s *Block) SetEntityTypes(v []*string) *Block {
|
|
s.EntityTypes = v
|
|
return s
|
|
}
|
|
|
|
// SetGeometry sets the Geometry field's value.
|
|
func (s *Block) SetGeometry(v *Geometry) *Block {
|
|
s.Geometry = v
|
|
return s
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *Block) SetId(v string) *Block {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetPage sets the Page field's value.
|
|
func (s *Block) SetPage(v int64) *Block {
|
|
s.Page = &v
|
|
return s
|
|
}
|
|
|
|
// SetRelationships sets the Relationships field's value.
|
|
func (s *Block) SetRelationships(v []*Relationship) *Block {
|
|
s.Relationships = v
|
|
return s
|
|
}
|
|
|
|
// SetRowIndex sets the RowIndex field's value.
|
|
func (s *Block) SetRowIndex(v int64) *Block {
|
|
s.RowIndex = &v
|
|
return s
|
|
}
|
|
|
|
// SetRowSpan sets the RowSpan field's value.
|
|
func (s *Block) SetRowSpan(v int64) *Block {
|
|
s.RowSpan = &v
|
|
return s
|
|
}
|
|
|
|
// SetText sets the Text field's value.
|
|
func (s *Block) SetText(v string) *Block {
|
|
s.Text = &v
|
|
return s
|
|
}
|
|
|
|
// The bounding box around the recognized text, key, value, table or table cell
|
|
// on a document page. The left (x-coordinate) and top (y-coordinate) are coordinates
|
|
// that represent the top and left sides of the bounding box. Note that the
|
|
// upper-left corner of the image is the origin (0,0).
|
|
//
|
|
// The top and left values returned are ratios of the overall document page
|
|
// size. For example, if the input image is 700 x 200 pixels, and the top-left
|
|
// coordinate of the bounding box is 350 x 50 pixels, the API returns a left
|
|
// value of 0.5 (350/700) and a top value of 0.25 (50/200).
|
|
//
|
|
// The width and height values represent the dimensions of the bounding box
|
|
// as a ratio of the overall document page dimension. For example, if the document
|
|
// page size is 700 x 200 pixels, and the bounding box width is 70 pixels, the
|
|
// width returned is 0.1.
|
|
type BoundingBox struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The height of the bounding box as a ratio of the overall document page height.
|
|
Height *float64 `type:"float"`
|
|
|
|
// The left coordinate of the bounding box as a ratio of overall document page
|
|
// width.
|
|
Left *float64 `type:"float"`
|
|
|
|
// The top coordinate of the bounding box as a ratio of overall document page
|
|
// height.
|
|
Top *float64 `type:"float"`
|
|
|
|
// The width of the bounding box as a ratio of the overall document page width.
|
|
Width *float64 `type:"float"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s BoundingBox) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s BoundingBox) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetHeight sets the Height field's value.
|
|
func (s *BoundingBox) SetHeight(v float64) *BoundingBox {
|
|
s.Height = &v
|
|
return s
|
|
}
|
|
|
|
// SetLeft sets the Left field's value.
|
|
func (s *BoundingBox) SetLeft(v float64) *BoundingBox {
|
|
s.Left = &v
|
|
return s
|
|
}
|
|
|
|
// SetTop sets the Top field's value.
|
|
func (s *BoundingBox) SetTop(v float64) *BoundingBox {
|
|
s.Top = &v
|
|
return s
|
|
}
|
|
|
|
// SetWidth sets the Width field's value.
|
|
func (s *BoundingBox) SetWidth(v float64) *BoundingBox {
|
|
s.Width = &v
|
|
return s
|
|
}
|
|
|
|
type DetectDocumentTextInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The input document as base64-encoded bytes or an Amazon S3 object. If you
|
|
// use the AWS CLI to call Amazon Textract operations, you can't pass image
|
|
// bytes. The document must be an image in JPG or PNG format.
|
|
//
|
|
// Document is a required field
|
|
Document *Document `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DetectDocumentTextInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DetectDocumentTextInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DetectDocumentTextInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DetectDocumentTextInput"}
|
|
if s.Document == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Document"))
|
|
}
|
|
if s.Document != nil {
|
|
if err := s.Document.Validate(); err != nil {
|
|
invalidParams.AddNested("Document", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetDocument sets the Document field's value.
|
|
func (s *DetectDocumentTextInput) SetDocument(v *Document) *DetectDocumentTextInput {
|
|
s.Document = v
|
|
return s
|
|
}
|
|
|
|
type DetectDocumentTextOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An array of Block objects containing the text detected in the document.
|
|
Blocks []*Block `type:"list"`
|
|
|
|
// Metadata about the document. Contains the number of pages that are detected
|
|
// in the document.
|
|
DocumentMetadata *DocumentMetadata `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DetectDocumentTextOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DetectDocumentTextOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBlocks sets the Blocks field's value.
|
|
func (s *DetectDocumentTextOutput) SetBlocks(v []*Block) *DetectDocumentTextOutput {
|
|
s.Blocks = v
|
|
return s
|
|
}
|
|
|
|
// SetDocumentMetadata sets the DocumentMetadata field's value.
|
|
func (s *DetectDocumentTextOutput) SetDocumentMetadata(v *DocumentMetadata) *DetectDocumentTextOutput {
|
|
s.DocumentMetadata = v
|
|
return s
|
|
}
|
|
|
|
// The input document, either as bytes or as an S3 object.
|
|
//
|
|
// You pass image bytes to an Amazon Textract API operation by using the Bytes
|
|
// property. For example, you would use the Bytes property to pass a document
|
|
// loaded from a local file system. Image bytes passed by using the Bytes property
|
|
// must be base64 encoded. Your code might not need to encode document file
|
|
// bytes if you're using an AWS SDK to call Amazon Textract API operations.
|
|
//
|
|
// You pass images stored in an S3 bucket to an Amazon Textract API operation
|
|
// by using the S3Object property. Documents stored in an S3 bucket don't need
|
|
// to be base64 encoded.
|
|
//
|
|
// The AWS Region for the S3 bucket that contains the S3 object must match the
|
|
// Region that you use for Amazon Textract operations.
|
|
//
|
|
// If you use the AWS CLI to call Amazon Textract operations, passing image
|
|
// bytes using the Bytes property isn't supported. You must first upload the
|
|
// document to an Amazon S3 bucket, and then call the operation using the S3Object
|
|
// property.
|
|
//
|
|
// For Amazon Textract to process an S3 object, the user must have permission
|
|
// to access the S3 object.
|
|
type Document struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A blob of documents bytes. The maximum size of a document that's provided
|
|
// in a blob of bytes is 5 MB.
|
|
//
|
|
// Bytes is automatically base64 encoded/decoded by the SDK.
|
|
Bytes []byte `min:"1" type:"blob"`
|
|
|
|
// Identifies an S3 object as the document source. The maximum size of a document
|
|
// stored in an S3 bucket is 5 MB.
|
|
S3Object *S3Object `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Document) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Document) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *Document) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "Document"}
|
|
if s.Bytes != nil && len(s.Bytes) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("Bytes", 1))
|
|
}
|
|
if s.S3Object != nil {
|
|
if err := s.S3Object.Validate(); err != nil {
|
|
invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetBytes sets the Bytes field's value.
|
|
func (s *Document) SetBytes(v []byte) *Document {
|
|
s.Bytes = v
|
|
return s
|
|
}
|
|
|
|
// SetS3Object sets the S3Object field's value.
|
|
func (s *Document) SetS3Object(v *S3Object) *Document {
|
|
s.S3Object = v
|
|
return s
|
|
}
|
|
|
|
// The Amazon S3 bucket that contains the document to be processed. It's used
|
|
// by asynchronous operations such as StartDocumentTextDetection.
|
|
//
|
|
// The input document can be an image file in JPG or PNG format. It can also
|
|
// be a file in PDF format.
|
|
type DocumentLocation struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon S3 bucket that contains the input document.
|
|
S3Object *S3Object `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DocumentLocation) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DocumentLocation) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DocumentLocation) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DocumentLocation"}
|
|
if s.S3Object != nil {
|
|
if err := s.S3Object.Validate(); err != nil {
|
|
invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetS3Object sets the S3Object field's value.
|
|
func (s *DocumentLocation) SetS3Object(v *S3Object) *DocumentLocation {
|
|
s.S3Object = v
|
|
return s
|
|
}
|
|
|
|
// Information about the input document.
|
|
type DocumentMetadata struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The number of pages detected in the document.
|
|
Pages *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DocumentMetadata) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DocumentMetadata) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetPages sets the Pages field's value.
|
|
func (s *DocumentMetadata) SetPages(v int64) *DocumentMetadata {
|
|
s.Pages = &v
|
|
return s
|
|
}
|
|
|
|
// Information about where a recognized text, key, value, table, or table cell
|
|
// is located on a document page.
|
|
type Geometry struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An axis-aligned coarse representation of the location of the recognized text
|
|
// on the document page.
|
|
BoundingBox *BoundingBox `type:"structure"`
|
|
|
|
// Within the bounding box, a fine-grained polygon around the recognized text.
|
|
Polygon []*Point `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Geometry) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Geometry) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBoundingBox sets the BoundingBox field's value.
|
|
func (s *Geometry) SetBoundingBox(v *BoundingBox) *Geometry {
|
|
s.BoundingBox = v
|
|
return s
|
|
}
|
|
|
|
// SetPolygon sets the Polygon field's value.
|
|
func (s *Geometry) SetPolygon(v []*Point) *Geometry {
|
|
s.Polygon = v
|
|
return s
|
|
}
|
|
|
|
type GetDocumentAnalysisInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A unique identifier for the text-detection job. The JobId is returned from
|
|
// StartDocumentAnalysis.
|
|
//
|
|
// JobId is a required field
|
|
JobId *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The maximum number of results to return per paginated call. The largest value
|
|
// that you can specify is 1,000. If you specify a value greater than 1,000,
|
|
// a maximum of 1,000 results is returned. The default value is 1,000.
|
|
MaxResults *int64 `min:"1" type:"integer"`
|
|
|
|
// If the previous response was incomplete (because there are more blocks to
|
|
// retrieve), Amazon Textract returns a pagination token in the response. You
|
|
// can use this pagination token to retrieve the next set of blocks.
|
|
NextToken *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetDocumentAnalysisInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetDocumentAnalysisInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *GetDocumentAnalysisInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "GetDocumentAnalysisInput"}
|
|
if s.JobId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobId"))
|
|
}
|
|
if s.JobId != nil && len(*s.JobId) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
|
|
}
|
|
if s.MaxResults != nil && *s.MaxResults < 1 {
|
|
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
|
|
}
|
|
if s.NextToken != nil && len(*s.NextToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetJobId sets the JobId field's value.
|
|
func (s *GetDocumentAnalysisInput) SetJobId(v string) *GetDocumentAnalysisInput {
|
|
s.JobId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMaxResults sets the MaxResults field's value.
|
|
func (s *GetDocumentAnalysisInput) SetMaxResults(v int64) *GetDocumentAnalysisInput {
|
|
s.MaxResults = &v
|
|
return s
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *GetDocumentAnalysisInput) SetNextToken(v string) *GetDocumentAnalysisInput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
type GetDocumentAnalysisOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The results of the text analysis operation.
|
|
Blocks []*Block `type:"list"`
|
|
|
|
// Information about a document that Amazon Textract processed. DocumentMetadata
|
|
// is returned in every page of paginated responses from an Amazon Textract
|
|
// video operation.
|
|
DocumentMetadata *DocumentMetadata `type:"structure"`
|
|
|
|
// The current status of the text detection job.
|
|
JobStatus *string `type:"string" enum:"JobStatus"`
|
|
|
|
// If the response is truncated, Amazon Textract returns this token. You can
|
|
// use this token in the subsequent request to retrieve the next set of text
|
|
// detection results.
|
|
NextToken *string `min:"1" type:"string"`
|
|
|
|
// The current status of an asynchronous document analysis operation.
|
|
StatusMessage *string `type:"string"`
|
|
|
|
// A list of warnings that occurred during the document analysis operation.
|
|
Warnings []*Warning `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetDocumentAnalysisOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetDocumentAnalysisOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBlocks sets the Blocks field's value.
|
|
func (s *GetDocumentAnalysisOutput) SetBlocks(v []*Block) *GetDocumentAnalysisOutput {
|
|
s.Blocks = v
|
|
return s
|
|
}
|
|
|
|
// SetDocumentMetadata sets the DocumentMetadata field's value.
|
|
func (s *GetDocumentAnalysisOutput) SetDocumentMetadata(v *DocumentMetadata) *GetDocumentAnalysisOutput {
|
|
s.DocumentMetadata = v
|
|
return s
|
|
}
|
|
|
|
// SetJobStatus sets the JobStatus field's value.
|
|
func (s *GetDocumentAnalysisOutput) SetJobStatus(v string) *GetDocumentAnalysisOutput {
|
|
s.JobStatus = &v
|
|
return s
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *GetDocumentAnalysisOutput) SetNextToken(v string) *GetDocumentAnalysisOutput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatusMessage sets the StatusMessage field's value.
|
|
func (s *GetDocumentAnalysisOutput) SetStatusMessage(v string) *GetDocumentAnalysisOutput {
|
|
s.StatusMessage = &v
|
|
return s
|
|
}
|
|
|
|
// SetWarnings sets the Warnings field's value.
|
|
func (s *GetDocumentAnalysisOutput) SetWarnings(v []*Warning) *GetDocumentAnalysisOutput {
|
|
s.Warnings = v
|
|
return s
|
|
}
|
|
|
|
type GetDocumentTextDetectionInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A unique identifier for the text detection job. The JobId is returned from
|
|
// StartDocumentTextDetection.
|
|
//
|
|
// JobId is a required field
|
|
JobId *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The maximum number of results to return per paginated call. The largest value
|
|
// you can specify is 1,000. If you specify a value greater than 1,000, a maximum
|
|
// of 1,000 results is returned. The default value is 1,000.
|
|
MaxResults *int64 `min:"1" type:"integer"`
|
|
|
|
// If the previous response was incomplete (because there are more blocks to
|
|
// retrieve), Amazon Textract returns a pagination token in the response. You
|
|
// can use this pagination token to retrieve the next set of blocks.
|
|
NextToken *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetDocumentTextDetectionInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetDocumentTextDetectionInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *GetDocumentTextDetectionInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "GetDocumentTextDetectionInput"}
|
|
if s.JobId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobId"))
|
|
}
|
|
if s.JobId != nil && len(*s.JobId) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
|
|
}
|
|
if s.MaxResults != nil && *s.MaxResults < 1 {
|
|
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
|
|
}
|
|
if s.NextToken != nil && len(*s.NextToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetJobId sets the JobId field's value.
|
|
func (s *GetDocumentTextDetectionInput) SetJobId(v string) *GetDocumentTextDetectionInput {
|
|
s.JobId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMaxResults sets the MaxResults field's value.
|
|
func (s *GetDocumentTextDetectionInput) SetMaxResults(v int64) *GetDocumentTextDetectionInput {
|
|
s.MaxResults = &v
|
|
return s
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *GetDocumentTextDetectionInput) SetNextToken(v string) *GetDocumentTextDetectionInput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
type GetDocumentTextDetectionOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The results of the text-detection operation.
|
|
Blocks []*Block `type:"list"`
|
|
|
|
// Information about a document that Amazon Textract processed. DocumentMetadata
|
|
// is returned in every page of paginated responses from an Amazon Textract
|
|
// video operation.
|
|
DocumentMetadata *DocumentMetadata `type:"structure"`
|
|
|
|
// The current status of the text detection job.
|
|
JobStatus *string `type:"string" enum:"JobStatus"`
|
|
|
|
// If the response is truncated, Amazon Textract returns this token. You can
|
|
// use this token in the subsequent request to retrieve the next set of text-detection
|
|
// results.
|
|
NextToken *string `min:"1" type:"string"`
|
|
|
|
// The current status of an asynchronous document text-detection operation.
|
|
StatusMessage *string `type:"string"`
|
|
|
|
// A list of warnings that occurred during the document text-detection operation.
|
|
Warnings []*Warning `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetDocumentTextDetectionOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetDocumentTextDetectionOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBlocks sets the Blocks field's value.
|
|
func (s *GetDocumentTextDetectionOutput) SetBlocks(v []*Block) *GetDocumentTextDetectionOutput {
|
|
s.Blocks = v
|
|
return s
|
|
}
|
|
|
|
// SetDocumentMetadata sets the DocumentMetadata field's value.
|
|
func (s *GetDocumentTextDetectionOutput) SetDocumentMetadata(v *DocumentMetadata) *GetDocumentTextDetectionOutput {
|
|
s.DocumentMetadata = v
|
|
return s
|
|
}
|
|
|
|
// SetJobStatus sets the JobStatus field's value.
|
|
func (s *GetDocumentTextDetectionOutput) SetJobStatus(v string) *GetDocumentTextDetectionOutput {
|
|
s.JobStatus = &v
|
|
return s
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *GetDocumentTextDetectionOutput) SetNextToken(v string) *GetDocumentTextDetectionOutput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatusMessage sets the StatusMessage field's value.
|
|
func (s *GetDocumentTextDetectionOutput) SetStatusMessage(v string) *GetDocumentTextDetectionOutput {
|
|
s.StatusMessage = &v
|
|
return s
|
|
}
|
|
|
|
// SetWarnings sets the Warnings field's value.
|
|
func (s *GetDocumentTextDetectionOutput) SetWarnings(v []*Warning) *GetDocumentTextDetectionOutput {
|
|
s.Warnings = v
|
|
return s
|
|
}
|
|
|
|
// The Amazon Simple Notification Service (Amazon SNS) topic to which Amazon
|
|
// Textract publishes the completion status of an asynchronous document operation,
|
|
// such as StartDocumentTextDetection.
|
|
type NotificationChannel struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon Resource Name (ARN) of an IAM role that gives Amazon Textract
|
|
// publishing permissions to the Amazon SNS topic.
|
|
//
|
|
// RoleArn is a required field
|
|
RoleArn *string `min:"20" type:"string" required:"true"`
|
|
|
|
// The Amazon SNS topic that Amazon Textract posts the completion status to.
|
|
//
|
|
// SNSTopicArn is a required field
|
|
SNSTopicArn *string `min:"20" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s NotificationChannel) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s NotificationChannel) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *NotificationChannel) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "NotificationChannel"}
|
|
if s.RoleArn == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("RoleArn"))
|
|
}
|
|
if s.RoleArn != nil && len(*s.RoleArn) < 20 {
|
|
invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
|
|
}
|
|
if s.SNSTopicArn == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SNSTopicArn"))
|
|
}
|
|
if s.SNSTopicArn != nil && len(*s.SNSTopicArn) < 20 {
|
|
invalidParams.Add(request.NewErrParamMinLen("SNSTopicArn", 20))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetRoleArn sets the RoleArn field's value.
|
|
func (s *NotificationChannel) SetRoleArn(v string) *NotificationChannel {
|
|
s.RoleArn = &v
|
|
return s
|
|
}
|
|
|
|
// SetSNSTopicArn sets the SNSTopicArn field's value.
|
|
func (s *NotificationChannel) SetSNSTopicArn(v string) *NotificationChannel {
|
|
s.SNSTopicArn = &v
|
|
return s
|
|
}
|
|
|
|
// The X and Y coordinates of a point on a document page. The X and Y values
|
|
// returned are ratios of the overall document page size. For example, if the
|
|
// input document is 700 x 200 and the operation returns X=0.5 and Y=0.25, then
|
|
// the point is at the (350,50) pixel coordinate on the document page.
|
|
//
|
|
// An array of Point objects, Polygon, is returned by DetectDocumentText. Polygon
|
|
// represents a fine-grained polygon around detected text. For more information,
|
|
// see Geometry in the Amazon Textract Developer Guide.
|
|
type Point struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The value of the X coordinate for a point on a Polygon.
|
|
X *float64 `type:"float"`
|
|
|
|
// The value of the Y coordinate for a point on a Polygon.
|
|
Y *float64 `type:"float"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Point) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Point) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetX sets the X field's value.
|
|
func (s *Point) SetX(v float64) *Point {
|
|
s.X = &v
|
|
return s
|
|
}
|
|
|
|
// SetY sets the Y field's value.
|
|
func (s *Point) SetY(v float64) *Point {
|
|
s.Y = &v
|
|
return s
|
|
}
|
|
|
|
// Information about how blocks are related to each other. A Block object contains
|
|
// 0 or more Relation objects in a list, Relationships. For more information,
|
|
// see Block.
|
|
//
|
|
// The Type element provides the type of the relationship for all blocks in
|
|
// the IDs array.
|
|
type Relationship struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An array of IDs for related blocks. You can get the type of the relationship
|
|
// from the Type element.
|
|
Ids []*string `type:"list"`
|
|
|
|
// The type of relationship that the blocks in the IDs array have with the current
|
|
// block. The relationship can be VALUE or CHILD.
|
|
Type *string `type:"string" enum:"RelationshipType"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Relationship) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Relationship) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetIds sets the Ids field's value.
|
|
func (s *Relationship) SetIds(v []*string) *Relationship {
|
|
s.Ids = v
|
|
return s
|
|
}
|
|
|
|
// SetType sets the Type field's value.
|
|
func (s *Relationship) SetType(v string) *Relationship {
|
|
s.Type = &v
|
|
return s
|
|
}
|
|
|
|
// The S3 bucket name and file name that identifies the document.
|
|
//
|
|
// The AWS Region for the S3 bucket that contains the document must match the
|
|
// Region that you use for Amazon Textract operations.
|
|
//
|
|
// For Amazon Textract to process a file in an S3 bucket, the user must have
|
|
// permission to access the S3 bucket and file.
|
|
type S3Object struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The name of the S3 bucket.
|
|
Bucket *string `min:"3" type:"string"`
|
|
|
|
// The file name of the input document. It must be an image file (.JPG or .PNG
|
|
// format). Asynchronous operations also support PDF files.
|
|
Name *string `min:"1" type:"string"`
|
|
|
|
// If the bucket has versioning enabled, you can specify the object version.
|
|
Version *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s S3Object) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s S3Object) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *S3Object) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "S3Object"}
|
|
if s.Bucket != nil && len(*s.Bucket) < 3 {
|
|
invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
|
|
}
|
|
if s.Name != nil && len(*s.Name) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
|
|
}
|
|
if s.Version != nil && len(*s.Version) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("Version", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetBucket sets the Bucket field's value.
|
|
func (s *S3Object) SetBucket(v string) *S3Object {
|
|
s.Bucket = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *S3Object) SetName(v string) *S3Object {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetVersion sets the Version field's value.
|
|
func (s *S3Object) SetVersion(v string) *S3Object {
|
|
s.Version = &v
|
|
return s
|
|
}
|
|
|
|
type StartDocumentAnalysisInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The idempotent token that you use to identify the start request. If you use
|
|
// the same token with multiple StartDocumentAnalysis requests, the same JobId
|
|
// is returned. Use ClientRequestToken to prevent the same job from being accidentally
|
|
// started more than once.
|
|
ClientRequestToken *string `min:"1" type:"string"`
|
|
|
|
// The location of the document to be processed.
|
|
//
|
|
// DocumentLocation is a required field
|
|
DocumentLocation *DocumentLocation `type:"structure" required:"true"`
|
|
|
|
// A list of the types of analysis to perform. Add TABLES to the list to return
|
|
// information about the tables that are detected in the input document. Add
|
|
// FORMS to return detected fields and the associated text. To perform both
|
|
// types of analysis, add TABLES and FORMS to FeatureTypes.
|
|
//
|
|
// FeatureTypes is a required field
|
|
FeatureTypes []*string `type:"list" required:"true"`
|
|
|
|
// The unique identifier you specify to identify the job in the completion status
|
|
// that's published to the Amazon SNS topic.
|
|
JobTag *string `min:"1" type:"string"`
|
|
|
|
// The Amazon SNS topic ARN that you want Amazon Textract to publish the completion
|
|
// status of the operation to.
|
|
NotificationChannel *NotificationChannel `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StartDocumentAnalysisInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StartDocumentAnalysisInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *StartDocumentAnalysisInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "StartDocumentAnalysisInput"}
|
|
if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
|
|
}
|
|
if s.DocumentLocation == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("DocumentLocation"))
|
|
}
|
|
if s.FeatureTypes == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("FeatureTypes"))
|
|
}
|
|
if s.JobTag != nil && len(*s.JobTag) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
|
|
}
|
|
if s.DocumentLocation != nil {
|
|
if err := s.DocumentLocation.Validate(); err != nil {
|
|
invalidParams.AddNested("DocumentLocation", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.NotificationChannel != nil {
|
|
if err := s.NotificationChannel.Validate(); err != nil {
|
|
invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClientRequestToken sets the ClientRequestToken field's value.
|
|
func (s *StartDocumentAnalysisInput) SetClientRequestToken(v string) *StartDocumentAnalysisInput {
|
|
s.ClientRequestToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetDocumentLocation sets the DocumentLocation field's value.
|
|
func (s *StartDocumentAnalysisInput) SetDocumentLocation(v *DocumentLocation) *StartDocumentAnalysisInput {
|
|
s.DocumentLocation = v
|
|
return s
|
|
}
|
|
|
|
// SetFeatureTypes sets the FeatureTypes field's value.
|
|
func (s *StartDocumentAnalysisInput) SetFeatureTypes(v []*string) *StartDocumentAnalysisInput {
|
|
s.FeatureTypes = v
|
|
return s
|
|
}
|
|
|
|
// SetJobTag sets the JobTag field's value.
|
|
func (s *StartDocumentAnalysisInput) SetJobTag(v string) *StartDocumentAnalysisInput {
|
|
s.JobTag = &v
|
|
return s
|
|
}
|
|
|
|
// SetNotificationChannel sets the NotificationChannel field's value.
|
|
func (s *StartDocumentAnalysisInput) SetNotificationChannel(v *NotificationChannel) *StartDocumentAnalysisInput {
|
|
s.NotificationChannel = v
|
|
return s
|
|
}
|
|
|
|
type StartDocumentAnalysisOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier for the document text-detection job. Use JobId to identify
|
|
// the job in a subsequent call to GetDocumentAnalysis.
|
|
JobId *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StartDocumentAnalysisOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StartDocumentAnalysisOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetJobId sets the JobId field's value.
|
|
func (s *StartDocumentAnalysisOutput) SetJobId(v string) *StartDocumentAnalysisOutput {
|
|
s.JobId = &v
|
|
return s
|
|
}
|
|
|
|
type StartDocumentTextDetectionInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The idempotent token that's used to identify the start request. If you use
|
|
// the same token with multiple StartDocumentTextDetection requests, the same
|
|
// JobId is returned. Use ClientRequestToken to prevent the same job from being
|
|
// accidentally started more than once.
|
|
ClientRequestToken *string `min:"1" type:"string"`
|
|
|
|
// The location of the document to be processed.
|
|
//
|
|
// DocumentLocation is a required field
|
|
DocumentLocation *DocumentLocation `type:"structure" required:"true"`
|
|
|
|
// A unique identifier you specify to identify the job in the completion status
|
|
// that's published to the Amazon Simple Notification Service (Amazon SNS) topic.
|
|
JobTag *string `min:"1" type:"string"`
|
|
|
|
// The Amazon SNS topic ARN that you want Amazon Textract to publish the completion
|
|
// status of the operation to.
|
|
NotificationChannel *NotificationChannel `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StartDocumentTextDetectionInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StartDocumentTextDetectionInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *StartDocumentTextDetectionInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "StartDocumentTextDetectionInput"}
|
|
if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
|
|
}
|
|
if s.DocumentLocation == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("DocumentLocation"))
|
|
}
|
|
if s.JobTag != nil && len(*s.JobTag) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
|
|
}
|
|
if s.DocumentLocation != nil {
|
|
if err := s.DocumentLocation.Validate(); err != nil {
|
|
invalidParams.AddNested("DocumentLocation", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.NotificationChannel != nil {
|
|
if err := s.NotificationChannel.Validate(); err != nil {
|
|
invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClientRequestToken sets the ClientRequestToken field's value.
|
|
func (s *StartDocumentTextDetectionInput) SetClientRequestToken(v string) *StartDocumentTextDetectionInput {
|
|
s.ClientRequestToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetDocumentLocation sets the DocumentLocation field's value.
|
|
func (s *StartDocumentTextDetectionInput) SetDocumentLocation(v *DocumentLocation) *StartDocumentTextDetectionInput {
|
|
s.DocumentLocation = v
|
|
return s
|
|
}
|
|
|
|
// SetJobTag sets the JobTag field's value.
|
|
func (s *StartDocumentTextDetectionInput) SetJobTag(v string) *StartDocumentTextDetectionInput {
|
|
s.JobTag = &v
|
|
return s
|
|
}
|
|
|
|
// SetNotificationChannel sets the NotificationChannel field's value.
|
|
func (s *StartDocumentTextDetectionInput) SetNotificationChannel(v *NotificationChannel) *StartDocumentTextDetectionInput {
|
|
s.NotificationChannel = v
|
|
return s
|
|
}
|
|
|
|
type StartDocumentTextDetectionOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier for the document text-detection job. Use JobId to identify
|
|
// the job in a subsequent call to GetDocumentTextDetection.
|
|
JobId *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StartDocumentTextDetectionOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StartDocumentTextDetectionOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetJobId sets the JobId field's value.
|
|
func (s *StartDocumentTextDetectionOutput) SetJobId(v string) *StartDocumentTextDetectionOutput {
|
|
s.JobId = &v
|
|
return s
|
|
}
|
|
|
|
// A warning about an issue that occurred during asynchronous text analysis
|
|
// (StartDocumentAnalysis) or asynchronous document-text detection (StartDocumentTextDetection).
|
|
type Warning struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The error code for the warning.
|
|
ErrorCode *string `type:"string"`
|
|
|
|
// A list of the pages that the warning applies to.
|
|
Pages []*int64 `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Warning) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Warning) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetErrorCode sets the ErrorCode field's value.
|
|
func (s *Warning) SetErrorCode(v string) *Warning {
|
|
s.ErrorCode = &v
|
|
return s
|
|
}
|
|
|
|
// SetPages sets the Pages field's value.
|
|
func (s *Warning) SetPages(v []*int64) *Warning {
|
|
s.Pages = v
|
|
return s
|
|
}
|
|
|
|
const (
|
|
// BlockTypeKeyValueSet is a BlockType enum value
|
|
BlockTypeKeyValueSet = "KEY_VALUE_SET"
|
|
|
|
// BlockTypePage is a BlockType enum value
|
|
BlockTypePage = "PAGE"
|
|
|
|
// BlockTypeLine is a BlockType enum value
|
|
BlockTypeLine = "LINE"
|
|
|
|
// BlockTypeWord is a BlockType enum value
|
|
BlockTypeWord = "WORD"
|
|
|
|
// BlockTypeTable is a BlockType enum value
|
|
BlockTypeTable = "TABLE"
|
|
|
|
// BlockTypeCell is a BlockType enum value
|
|
BlockTypeCell = "CELL"
|
|
)
|
|
|
|
const (
|
|
// EntityTypeKey is a EntityType enum value
|
|
EntityTypeKey = "KEY"
|
|
|
|
// EntityTypeValue is a EntityType enum value
|
|
EntityTypeValue = "VALUE"
|
|
)
|
|
|
|
const (
|
|
// FeatureTypeTables is a FeatureType enum value
|
|
FeatureTypeTables = "TABLES"
|
|
|
|
// FeatureTypeForms is a FeatureType enum value
|
|
FeatureTypeForms = "FORMS"
|
|
)
|
|
|
|
const (
|
|
// JobStatusInProgress is a JobStatus enum value
|
|
JobStatusInProgress = "IN_PROGRESS"
|
|
|
|
// JobStatusSucceeded is a JobStatus enum value
|
|
JobStatusSucceeded = "SUCCEEDED"
|
|
|
|
// JobStatusFailed is a JobStatus enum value
|
|
JobStatusFailed = "FAILED"
|
|
|
|
// JobStatusPartialSuccess is a JobStatus enum value
|
|
JobStatusPartialSuccess = "PARTIAL_SUCCESS"
|
|
)
|
|
|
|
const (
|
|
// RelationshipTypeValue is a RelationshipType enum value
|
|
RelationshipTypeValue = "VALUE"
|
|
|
|
// RelationshipTypeChild is a RelationshipType enum value
|
|
RelationshipTypeChild = "CHILD"
|
|
)
|