Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Un'operazione Amazon Textract può non riuscire se superi il numero massimo di transazioni al secondo (TPS), causando la limitazione del servizio dell'applicazione o quando la connessione viene interrotta. Ad esempio, se effettui troppe chiamate alle operazioni di Amazon Textract in un breve periodo di tempo, questo riduce le chiamate e invia unProvisionedThroughputExceededException
errore nella risposta dell'operazione. Per informazioni sulle quote Amazon Textract TPS, consultaQuote Amazon Textract.
È possibile gestire la limitazione e l'interruzione delle connessioni ripetendo automaticamente l'operazione. È possibile specificare il numero di tentativi includendo ilConfig
parametro quando crei il client Amazon Textract. Raccomandiamo un numero di tentativi di 5. LaAWSSDK tenta un'operazione il numero di volte specificato prima di fallire e lanciare un'eccezione. Per ulteriori informazioni, consulta Ripetizione dei tentativi in caso di errore e backoff esponenziale in AWS.
Nota
I tentativi automatici funzionano sia per operazioni sincrone che asincrone. Prima di specificare tentativi automatici, assicurati di avere la versione più recente dell'SDK AWS. Per ulteriori informazioni, consultare Fase 2: Configurazione diAWS CLIeAWSSDK.
Nell'esempio seguente viene illustrato come riprovare automaticamente le operazioni Amazon Textract durante l'elaborazione di più documenti.
Prerequisiti
Se non lo hai già fatto:
Creare o aggiornare un utente IAM con
AmazonTextractFullAccess
eAmazonS3ReadOnlyAccess
autorizzazioni. Per ulteriori informazioni, consultare Fase 1: Impostazione di un account AWS e creazione di un utente IAM.Installa e configura la AWS CLI e gli SDK AWS. Per ulteriori informazioni, consultare Fase 2: Configurazione diAWS CLIeAWSSDK.
Per riprovare automaticamente le operazioni
-
Caricare più immagini di documenti nel bucket S3 per eseguire l'esempio sincrono. Caricare un documento multipagina nel bucket S3 ed eseguire
StartDocumentTextDetection
su di esso per eseguire l'esempio asincrono.Per istruzioni, consultaCaricamento di oggetti in Amazon S3nellaAmazon Simple Storage Service.
-
Negli esempi seguenti viene illustrato come utilizzare il
Config
parametro per riprovare automaticamente un'operazione. L'esempio sincrono chiama ilDetectDocumentText
operazione, mentre l'esempio asincrono chiama ilGetDocumentTextDetection
operazione.Usare i seguenti esempi per richiamare il
DetectDocumentText
Operazioni sui documenti nel bucket Amazon S3. Nello statomain
, modificare il valore dibucket
nel proprio bucket S3. Modificare il valore didocuments
ai nomi delle immagini del documento caricate nel passaggio 2.import boto3 from botocore.client import Config # Documents def process_multiple_documents(bucket, documents): config = Config(retries = dict(max_attempts = 5)) # Amazon Textract client textract = boto3.client('textract', config=config) for documentName in documents: print("\nProcessing: {}\n==========================================".format(documentName)) # Call Amazon Textract response = textract.detect_document_text( Document={ 'S3Object': { 'Bucket': bucket, 'Name': documentName } }) # Print detected text for item in response["Blocks"]: if item["BlockType"] == "LINE": print ('\033[94m' + item["Text"] + '\033[0m') def main(): bucket = "" documents = ["document-image-1.png", "document-image-2.png", "document-image-3.png", "document-image-4.png", "document-image-5.png" ] process_multiple_documents(bucket, documents) if __name__ == "__main__": main()