InvalidParameterException при запуске задания Textract с использованием канала уведомлений SNS - PullRequest
0 голосов
/ 07 апреля 2020

Когда я запускаю textract StartDocumentTextDetection и пытаюсь установить NotificationChannel следующим образом

 response = client.start_document_text_detection(
        DocumentLocation={
            'S3Object': {
                'Bucket': s3BucketName,
                'Name': objectName
            },
        },
        ClientRequestToken='string',
        JobTag='string',
        NotificationChannel={
            'RoleArn': snsRoleArn,
            'SNSTopicArn': snsTopicArn
        }
    )

Я получаю InvalidParameterException

Произошла ошибка (InvalidParameterException) при вызове операции StartDocumentTextDetection: Запрос имеет недопустимые параметры

python 3.7 boto3 1.12.35

1 Ответ

0 голосов
/ 11 апреля 2020

Мне удалось запустить ваш фрагмент кода с минимальными изменениями, как показано ниже:

import boto3

session = boto3.Session(profile_name='syumaK')
# Any clients created from this session will use credentials
# from the [dev] section of ~/.aws/credentials.

# Document
s3BucketName = 'syumaK-bucket'
documentName = 'document.pdf'

# Amazon Textract client
textract_client = session.client('textract')

# Call Amazon Textract
response = textract_client.start_document_text_detection(
    DocumentLocation={
        'S3Object': {
            'Bucket': 's3BucketName',
            'Name': 'documentName'
        }
    },
    JobTag='Receipt',
    NotificationChannel={
        'SNSTopicArn': 'arn:aws:sns:us-east-1:192xxxxxxxx:AmazonTextractTopic',
        'RoleArn': 'arn:aws:iam::192xxxxxxxx:role/AWSTextractRole'
    }
)

#print(response)
print(response)

Успешно опубликованное сообщение из Amazon Textract в SNS topi c должно вывести что-то похожее на:

{'JobId': '83111ff3cf665225dde114f796972c3cbf9b663170e778c291666c7eaf57c5d0', 'ResponseMetadata': {'RequestId': 'b3ce4fc9-9a6e-4b9a-ba4b-c849b9763405', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 11 Apr 2020 07:48:07 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '76', 'connection': 'keep-alive', 'x-amzn-requestid': 'b3ce4fc9-9a6e-4b9a-ba4b-c849b9763405'}, 'RetryAttempts': 0}}

Ниже приведено несколько советов для рассмотрения на случай, если кто-то еще столкнется с этой проблемой:

  • Убедитесь, что вы используете допустимые значения для SNSTopicArn & RoleArn
  • Если обрабатываемый документ находится в папке S3, параметры необходимо изменить следующим образом:

    DocumentLocation={
        'S3Object': {
            'Bucket': 's3BucketName',
            'Name': 'folder/documentName'
        }
    },
    

Надеюсь, это поможет.

...