我正在读取包含JSON文本的S3对象。对于少数元素(如4),这很好用。
稍长一点之后(我的意思是文件总大小小于1 MB!)文件被切碎了。
我认为get_object
方法给出了整个对象。我想念的是整个对象没有被读取。
s3client=boto3.client('s3',config=Config(signature_version='s3v4'))
Obj = s3client.get_object(Bucket=x, Key=y)
jobStream=Obj['Body'].read().decode('utf-8')
jsonObj=json.loads(jobStream)
print(json.dumps(jsonObj,indent=2))
JSON格式正确...输出被随机截断。
答案 0 :(得分:0)
我可能的建议如下;
类似于您已经拥有的
lst = [['file1', 1], ['file2', 0], ['file3', 7], ['file4', 0]]
new_lst = [] # a new list, containing only the filenames if the number in col 2 was >0
for row in lst:
if row[1] > 0:
new_lst.append(row)
使用对象获取文件
s3client=boto3.client('s3',config=Config(signature_version='s3v4'))
Obj = s3client.get_object(Bucket=x, Key=y)
text=Obj["Body"].read().decode()
print(text['anything']) # Use your desired JSON Key for your value
答案 1 :(得分:0)
忽略我上传的文件错误,目录错误