Как сохранить файл, который попадает с S3 в / tmp / в Lambda - PullRequest
0 голосов
/ 14 июля 2020

Я хочу сохранить PDF-файл, который я извлек из S3 в / tmp / в Lambda, но он показывает ошибку: Нет такого файла или каталога

Вот мой код

s3_1.Bucket(bucket_name).download_file(key_file, "/tmp/filename.pdf")

Ошибка показывает, что:

FileNotFoundError: [Errno 2] Нет такого файла или каталога: '/tmp\filename.pdf.1261Ec23'

1 Ответ

0 голосов
/ 14 июля 2020

Попробуйте так:

import boto3

s3 = boto3.client('s3')
s3.download_file('BUCKET_NAME', 'folder/filename.pdf', '/tmp/filename.pdf')

Рабочий код, и таким образом вы сможете отследить ошибку и проверить загружаемую часть:

import json
import urllib.parse
import logging
import boto3
from botocore.exceptions import ClientError


print('Loading function')

s3 = boto3.client('s3')


def lambda_handler(event, context):
    
    s3.download_file('fileuploadprocess', 'Document/SampleFile', '/tmp/SampleFile')
    
    try:
        response = s3.upload_file('/tmp/SampleFile', 'fileuploadprocess', 'Document122/SampleFile')
    except ClientError as e:
        logging.error(e)
        return False
    return True

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