#python #python-3.x #amazon-web-services #aws-lambda #amazon-textract
#python #python-3.x #amazon-веб-сервисы #aws-lambda #amazon-textract
Вопрос:
Я пытаюсь извлечь текст из PDF с помощью функции Lambda и Textract.
Мой вопрос: как я могу вызвать «start_document_text_detection», чтобы Textract автоматически отправлял свой ответ на S3?
Я получаю сообщение об ошибке:
[ОШИБКА] Ошибка проверки параметра: ошибка проверки параметра: неизвестный параметр во входных данных: «OutputConfig», должен быть одним из: DocumentLocation, ClientRequestToken, JobTag, NotificationChannel
Мой код:
textract = boto3.client('textract')
textract.start_document_text_detection(
DocumentLocation={
'S3Object': {
'Bucket': origin_bucket,
'Name': key
}
},
JobTag=key '_Job',
OutputConfig={
"S3Bucket": destination_bucket,
"S3Prefix": key
})
Документация Boto3 показывает, что я могу передать параметр с именем «OutputConfig»:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract .Клиент.start_document_text_detection
response = client.start_document_text_detection(
DocumentLocation={
'S3Object': {
'Bucket': 'string',
'Name': 'string',
'Version': 'string'
}
},
ClientRequestToken='string',
JobTag='string',
NotificationChannel={
'SNSTopicArn': 'string',
'RoleArn': 'string'
},
OutputConfig={
'S3Bucket': 'string',
'S3Prefix': 'string'
}
)
В официальной документации AWS Textract также говорится, что это допустимый параметр:
Доступен еще один необязательный параметр OutputConfig, который позволяет вам настроить, где будут размещены ваши выходные данные. По умолчанию Amazon Textract будет хранить результаты внутри, и доступ к ним возможен только с помощью операций Get API. При включенном OutputConfig вы можете задать имя корзины, в которую будут отправляться выходные данные, и его префикс файла, куда вы можете загрузить свои результаты в формате JSON. Это позволяет использовать созданный пользователем блок для хранения результатов.
https://docs.aws.amazon.com/textract/latest/dg/api-async.html
Ответ №1:
Похоже, вы используете более старую версию boto3. Обновление до последней версии (> 1.16.36) должно решить вашу проблему.
Комментарии:
1. Я использую boto3 от AWS (я имею в виду, что я не устанавливаю какую-либо версию boto3, поскольку она доступна в лямбда-среде «environment»). Я попробую вашу идею и посмотрю, работает ли она.