python - 如何从 S3 加载 pickle 文件以在 AWS Lambda 中使用?

标签 python amazon-web-services amazon-s3 lambda pickle

我目前正在尝试将一个 pickle 文件从 S3 加载到 AWS lambda 并将其存储到一个列表(pickle 是一个列表)。

这是我的代码:

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'

有什么想法吗?

最佳答案

super 简单的解决方案

import pickle
import boto3

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

关于python - 如何从 S3 加载 pickle 文件以在 AWS Lambda 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48964181/

相关文章:

python - 使用Python request.get param 但它给了我错误的url

python - Scipy 稀疏矩阵 - 密集向量乘法性能 - block 与大型矩阵

python - Pandas 系列的部分总和

python - 如何使用 BeautifulSoup 获取深度嵌套的 div 值?

amazon-web-services - 使用无服务器框架与 aws sam 的优缺点是什么?

amazon-web-services - 您可以在 AWS Athena 中拥有架构或文件夹结构吗?

amazon-web-services - 需要 AWS cloudformation 模板或引导脚本帮助

java - AWS lambda/api网关不重定向

scala - S3 存储桶名称被添加到 S3 端点

ruby-on-rails - Heroku AWS3 CarrierWave 和 Rails 问题