Мне удалось запустить ваш фрагмент кода с минимальными изменениями, как показано ниже:
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'
}
},
Надеюсь, это поможет.