VCF文件写入亚马逊S3存储桶Django

问题描述

我需要将VCard .vcf文件写入(保存)到我的Amazon s3存储桶中,但是出现了问题。我已经设法将vcf文件保存在本地,然后复制到s3存储桶。我如何将直接存储到S3存储桶中,顺便说一句,刚开始使用AWS,希望能为您提供帮助! 我从客户模型数据库获取数据,这是我的django视图

import ...
import boto3

        customer = Customer.objects.get(identifier=identifier)
          
        data = {}
        data['n'] = customer.first_name + ' ' + customer.last_name
        data['fn'] = customer.first_name + ' ' + customer.last_name
        data['tel'] = customer.phone
        data['email'] = customer.email

        vcard = vobject.readOne('\n'.join([f'{k}:{v}' for k,v in data.items()]))
        vcard.name = 'VCARD'
        vcard.useBegin = True
        vcard.prettyPrint()

        ############# WORKS BUT SAVES LOCALLY ###############

        path = (settings.MEDIA_ROOT + 'customer.vcf')

        with open(path,'w',newline='') as f:
            myfile = File(f)
            myfile.write(vcard.serialize())

        ############# WORKS BUT SAVES LOCALLY ###############

        ############# dublicates to bucket ###############

        s3 = boto3.resource('s3')
        BUCKET = "bucket"

        s3.Bucket(BUCKET).upload_file(path,'customer.vcf')
        

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)