【发布时间】:2019-06-25 07:27:12
【问题描述】:
正如标题所说,我正在尝试使用 Amazon lambda 从 S3 加载 NetworkX 图,并且我想使用 gpickle,因为它的文件大小比 JSON 小得多。使用this solution 的轻微改编,我能够很好地加载网络的 JSON 版本。但是,当我尝试调整它以使用 NetworkX gpickle 命令时:
import boto3
import networkx as nx
s3 = boto3.resource('s3')
my_graph = nx.read_gpickle(s3.Bucket("bucket_name").Object("key_to_pickle.gpickle").get()['Body'].read())
它不起作用。具体来说,我收到了一个TypeError: file must have 'read' and 'readline' attributes 错误,它不能帮助我弄清楚 gpickle 案例有什么问题/不同。
这可能是 NetworkX gpickle 方法特有的。或者它可能是 AWS lambda 从 S3 读取文件的一般性。如何将我的 gpickle 数据从 S3 加载到 lambda 中?
【问题讨论】:
标签: python-3.x amazon-s3 aws-lambda pickle networkx