Извините за повторный вопрос, потому что они не решили мою проблему, которая уже задавалась здесь раньше, как преобразовать pdf-файл из s3 в строковую переменную с помощью лямбда-функции,
Моя лямбда-функция показывает ошибку
Я нахожу приведенный ниже код в этот ответ, но я застрял в реализации этот код в лямбда, пожалуйста, поделитесь своей идеей, и я думаю, что если приведенный ниже код верен, переменная данных будет содержать преобразование строки файла pdf в s3. если нет, пожалуйста, предложите изменить мой код
Unable to import module 'lambda_function': No module named 'pdfminer'
import json
import boto3
import botocore
import sys
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter
from pdfminer.layout import LAParams
import io
s3 = boto3.client('s3')
def lambda_handler(event, context):
bucket = event['Records'][0]['s3']['bucket']['name']
key = event['Records'][0]['s3']['object']['key']
filename = 'myfile'
s3.download_file(bucket,key, '/tmp/'+filename)
print('reading')
fp = open('/tmp/'+filename, 'rU').read()
rsrcmgr = PDFResourceManager()
retstr = io.StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
# Create a PDF interpreter object.
interpreter = PDFPageInterpreter(rsrcmgr, device)
# Process each page contained in the document.
for page in PDFPage.get_pages(fp):
interpreter.process_page(page)
data = retstr.getvalue()
print(data)