使用boto3读入avro文件并转换为字符串(Python)

时间:2016-09-19 21:36:46

标签: python boto avro boto3

我正在使用boto3从我的s3存储桶中读取avro文件。 但是,我仍然坚持如何将avro实际转换为字符串。

avro_file = file_from_s3.get()['Body'].read()

进入这一步后,我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我发现了一种方法。您需要使用python中的StringIO和boto3中的download_fileobj()。

import boto3
import StringIO
from avro.datafile import DataFileReader, DataFileWriter
from avro.io import DatumReader, DatumWriter

output = StringIO.StringIO()
latest_file_object = s3_client.Object('bucket_name','latest_file')
latest_file_object.download_fileobj(output)

reader = DataFileReader(output, DatumReader())
for r in reader:
    print r