存储在Amazon S3桶上的文件大小



我有以下模型

class MediaFile(Media):
s3_file = GenericFileField(tag="s3-tag", null=True, blank=True, max_length=300)

如何获取存储在s3上的文件大小?

我试过了,但是没有用。

def file_size(self):
try:
prefix = get_file_key(self.s3_file)
s3 = boto3.resource("s3")
bucket = s3.Bucket()
return bucket.Object(prefix).content_length
except:
pass

要使用boto3访问现有的Bucket,需要提供Bucket名称,例如:

import boto3
s3 = boto3.resource("s3")
bucket = s3.Bucket('mybucket')
length = bucket.Object('cats/persian.jpg').content_length

另外:

import boto3
s3 = boto3.resource("s3")
length = s3.Object('mybucket', 'cats/persian.jpg').content_length

传递给Bucket.Object()的值是键(如cats/persian.jpg),而不是前缀(如cats/)。

相关内容

  • 没有找到相关文章

最新更新