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

2024-05-14 07:37:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的型号

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

Tags: selftrueprefixs3buckettagmedianull
1条回答
网友
1楼 · 发布于 2024-05-14 07:37:42

要使用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/

相关问题 更多 >

    热门问题