Как прочитать содержимое файла с документами в формате AWS S3 (.doc и .docx), используя AWS Lambda Python? - PullRequest
0 голосов
/ 30 января 2019

В моем сценарии я пытаюсь реализовать чтение файла документа AWS Stored S3 word (.doc и .docx) из Aws Lambda с помощью python.Ниже кода, который я использую, моя проблема в том, что я могу получить имя файла, но не могу прочитать содержимое.

def lambda_handler(event, context):

    file_contents = s3.Object(‘Bucketname’, 'sample.docx').get()['Body'].read().decode("unicode-escape")

    return {
         'File Name' : obj.key,
         ‘Content’ : file_contents
            }

Ответ: {"errorMessage": "кодек" unicodeescape "не может декодировать байты в позиции 25818-25819: усеченный \ xXX escape", "errorType": "UnicodeDecodeError", "stackTrace ": [[" /var/task/lambda_function.py ", 76," lambda_handler "," file_contents = s3.Object ('Bucketname', 'sample.docx'). get () ['Body']. read() .decode (\ "unicode-escape \") "]]}

1 Ответ

0 голосов
/ 30 января 2019

.docx и .doc файлы являются двоичными файлами, поэтому простое декодирование не будет работать, возможно, docx2txt может помочь здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...