import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { StartDocumentAnalysisRequest, StartDocumentAnalysisResponse } from "../models/models_0"; import { ServiceInputTypes, ServiceOutputTypes, TextractClientResolvedConfig } from "../TextractClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link StartDocumentAnalysisCommand}. */ export interface StartDocumentAnalysisCommandInput extends StartDocumentAnalysisRequest { } /** * @public * * The output of {@link StartDocumentAnalysisCommand}. */ export interface StartDocumentAnalysisCommandOutput extends StartDocumentAnalysisResponse, __MetadataBearer { } declare const StartDocumentAnalysisCommand_base: { new (input: StartDocumentAnalysisCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: StartDocumentAnalysisCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Starts the asynchronous analysis of an input document for relationships between detected * items such as key-value pairs, tables, and selection elements.

*

* StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The * documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name * of the document. *

*

* 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.

*

For more information, see Document Text Analysis.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { TextractClient, StartDocumentAnalysisCommand } from "@aws-sdk/client-textract"; // ES Modules import * // const { TextractClient, StartDocumentAnalysisCommand } = require("@aws-sdk/client-textract"); // CommonJS import * const client = new TextractClient(config); * const input = { // StartDocumentAnalysisRequest * DocumentLocation: { // DocumentLocation * S3Object: { // S3Object * Bucket: "STRING_VALUE", * Name: "STRING_VALUE", * Version: "STRING_VALUE", * }, * }, * FeatureTypes: [ // FeatureTypes // required * "TABLES" || "FORMS" || "QUERIES" || "SIGNATURES" || "LAYOUT", * ], * ClientRequestToken: "STRING_VALUE", * JobTag: "STRING_VALUE", * NotificationChannel: { // NotificationChannel * SNSTopicArn: "STRING_VALUE", // required * RoleArn: "STRING_VALUE", // required * }, * OutputConfig: { // OutputConfig * S3Bucket: "STRING_VALUE", // required * S3Prefix: "STRING_VALUE", * }, * KMSKeyId: "STRING_VALUE", * QueriesConfig: { // QueriesConfig * Queries: [ // Queries // required * { // Query * Text: "STRING_VALUE", // required * Alias: "STRING_VALUE", * Pages: [ // QueryPages * "STRING_VALUE", * ], * }, * ], * }, * AdaptersConfig: { // AdaptersConfig * Adapters: [ // Adapters // required * { // Adapter * AdapterId: "STRING_VALUE", // required * Pages: [ // AdapterPages * "STRING_VALUE", * ], * Version: "STRING_VALUE", // required * }, * ], * }, * }; * const command = new StartDocumentAnalysisCommand(input); * const response = await client.send(command); * // { // StartDocumentAnalysisResponse * // JobId: "STRING_VALUE", * // }; * * ``` * * @param StartDocumentAnalysisCommandInput - {@link StartDocumentAnalysisCommandInput} * @returns {@link StartDocumentAnalysisCommandOutput} * @see {@link StartDocumentAnalysisCommandInput} for command's `input` shape. * @see {@link StartDocumentAnalysisCommandOutput} for command's `response` shape. * @see {@link TextractClientResolvedConfig | config} for TextractClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

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.

* * @throws {@link BadDocumentException} (client fault) *

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

* * @throws {@link DocumentTooLargeException} (client fault) *

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.

* * @throws {@link IdempotentParameterMismatchException} (client fault) *

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.

* * @throws {@link InternalServerError} (server fault) *

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

* * @throws {@link InvalidKMSKeyException} (client fault) *

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

* * @throws {@link InvalidParameterException} (client fault) *

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.

* * @throws {@link InvalidS3ObjectException} (client fault) *

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 *

* * @throws {@link LimitExceededException} (client fault) *

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.

* * @throws {@link ProvisionedThroughputExceededException} (client fault) *

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

* * @throws {@link ThrottlingException} (server fault) *

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

* * @throws {@link UnsupportedDocumentException} (client fault) *

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

* * @throws {@link TextractServiceException} *

Base exception class for all service exceptions from Textract service.

* * * @public */ export declare class StartDocumentAnalysisCommand extends StartDocumentAnalysisCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: StartDocumentAnalysisRequest; output: StartDocumentAnalysisResponse; }; sdk: { input: StartDocumentAnalysisCommandInput; output: StartDocumentAnalysisCommandOutput; }; }; }