将Twitter数据写入s3存储桶

时间:2018-12-15 21:33:21

标签: python python-3.x amazon-s3

我正在尝试将流数据(json格式)写入s3存储桶。我正在使用以下代码,但无法编写。执行以下代码时没有错误。但s3中没有json文件

class TweetsListener( StreamListener):

    def __init__(self,path):
        self.path = path

    def on_data(self, data):
        try:
            s3 = boto3.resource('s3')
            s3.put_object(Bucket='bucket',Body=data.encode('UTF-8'),Key='/A/'+self.path+'/test.json')
            return True
        except BaseException as e:
            print("Error on_data: %s" % str(e))
        return True

    def on_error(self, status):
        print(status)
        return True

1 个答案:

答案 0 :(得分:1)

据我所知,您正在尝试对boto3的S3 Service Resource而不是S3 Client使用@ContentChildren('header', { read: ElementRef }) headers: QueryList<ElementRef> ngAfterViewInit(){ this.headers.toArray().forEach(el => { console.log(el); }); } } 操作。
服务资源没有put_object方法。

此外,您应该删除密钥中的前导put_object,并确保您的存储桶已经创建。