AWS Lambdaで使用するためにS3からピクルファイルをロードするにはどうすればいいですか? 質問する

AWS Lambdaで使用するためにS3からピクルファイルをロードするにはどうすればいいですか? 質問する

現在、S3 からピクルされたファイルを AWS lambda にロードし、リストに保存しようとしています (ピクルはリストです)。

これが私のコードです:

import pickle
import boto3

s3 = boto3.resource('s3')
with open('oldscreenurls.pkl', 'rb') as data:
    old_list = s3.Bucket("pythonpickles").download_fileobj("oldscreenurls.pkl", data)

ファイルが存在するにもかかわらず、次のエラーが発生します。

FileNotFoundError: [Errno 2] No such file or directory: 'oldscreenurls.pkl'

何か案は?

ベストアンサー1

超シンプルな解決策

import pickle
import boto3

s3 = boto3.resource('s3')
my_pickle = pickle.loads(s3.Bucket("bucket_name").Object("key_to_pickle.pickle").get()['Body'].read())

おすすめ記事