简体   繁体   English

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

[英]Size of file stored on the Amazon S3 bucket

I have following model我有以下型号

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

How can I get size of file stored on s3?如何获取存储在 s3 上的文件大小?

I tried this, but it's not work.我试过这个,但它不起作用。

    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

To access an existing Bucket using boto3, you need to supply the bucket name, for example:要使用 boto3 访问现有存储桶,您需要提供存储桶名称,例如:

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

Alternatively:或者:

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

FYI the value passed to Bucket.Object() is a key (like cats/persian.jpg ), not a prefix (like cats/ ).仅供参考,传递给Bucket.Object()的值是一个键(如cats/persian.jpg ),而不是前缀(如cats/ )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从存储在 s3 存储桶中的 xml 文件读取和获取数据 - read and get data from xml file stored in s3 bucket 如何获取存储在 s3 Bucket 中的文件的 uri 路径 - How to get uri path for a file stored in s3 Bucket 如何创建存储在Amazon S3存储桶中的文件列表,并将其显示为下载链接? - How do I create a list of files stored in my Amazon S3 bucket and display them as download links? 将Amazon S3存储桶文件夹复制到本地 - Copy amazon s3 bucket folder to local 在同一Amazon S3存储桶中复制文件 - Copying files in the same Amazon S3 bucket 将 BigQuery 数据传输到 amazon s3 存储桶 - Transferring BigQuery data to amazon s3 bucket 在 EC2 上运行存储在 AWS S3 存储桶中的 Python 脚本并将结果文件保存回 S3 存储桶 - Run a Python Script Stored in an AWS S3 Bucket on EC2 and Save Resulting File Back into S3 Bucket 从 FTP 检索文件,解压缩文件,将提取文件保存到 Amazon S3 存储桶 - Retrieve file from FTP, unzip file, save extract file to Amazon S3 bucket 将 S3 存储桶中的 gzip 文件提取到另一个 S3 存储桶 - Extracting gzip file in an S3 bucket to another S3 Bucket 如何使用 python (boto3) 连接到带有 pem 文件的 Amazon S3 存储桶 - How do I connect to an Amazon S3 bucket with a pem file using python (boto3)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM