Как сохранить файл .docx в S3? - PullRequest
       118

Как сохранить файл .docx в S3?

1 голос
/ 06 августа 2020

Я использую python -docx для создания документа. Я хочу сохранить этот файл на AWS S3. В настоящее время я создаю файл .docx и сохраняю его локально, используя document.save('filename.docx'). Затем, используя s3.meta.client.upload_file('/path/to/file/filename.docx', bucket, 'filename.docx'), сохраните его в S3. Есть ли способ сохранить файл .docx непосредственно в AWS S3, не сохраняя его локально?

1 Ответ

4 голосов
/ 06 августа 2020

Да, можно. Как предложил @ewong, вот пример фрагмента кода:

import boto3
from io import BytesIO
from docx import Document

s3 = boto3.client('s3')
document = Document()
# ...

with BytesIO() as fileobj:
    document.save(fileobj)
    fileobj.seek(0)
    s3.upload_fileobj(fileobj, 'your-bucket-name', 'your/s3/key')

...