如何查找AWS S3存储桶或文件夹的总大小?

时间:2021-05-12 10:47:05

Does Amazon provide an easy way to see how much storage my S3 bucket or folder is using? This is so I can calculate my costs, etc.

亚马逊是否提供了一种简单的方法来查看我的S3存储桶或文件夹使用了多少存储空间?这是我可以计算我的成本等。

8 个解决方案

#1


14  

As of the 28th July 2015 you can get this information via CloudWatch.

截至2015年7月28日,您可以通过CloudWatch获取此信息。

aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2015-07-15T10:00:00 
--end-time 2015-07-31T01:00:00 --period 86400 --statistics Average --region us-east-1 
--metric-name BucketSizeBytes --dimensions Name=BucketName,Value=myBucketNameGoesHere 
Name=StorageType,Value=StandardStorage


Important: You must specify both StorageType and BucketName in the dimensions argument otherwise you will get no results.

#2


12  

Amazon has changed the Web interface so now you have the "Get Size" under the "More" menu.

亚马逊已经更改了Web界面,所以现在您在“更多”菜单下有“获取大小”。

#3


9  

Two ways,

两种方式,

Using aws cli

使用aws cli

aws s3 ls --summarize --human-readable --recursive s3://bucket/folder/

aws s3 ls --summarize --human-readable --recursive s3:// bucket / folder /

If we omit '/' in the end, it will get all the folders starting with your folder name and give a total size of all.

如果我们最后省略'/',它将获得以您的文件夹名称开头的所有文件夹,并给出所有文件夹的总大小。

aws s3 ls --summarize --human-readable --recursive s3://bucket/folder

aws s3 ls --summarize --human-readable --recursive s3:// bucket / folder

Using boto3 api

使用boto3 api

import boto3

def get_folder_size(bucket, prefix):
    total_size = 0
    for obj in boto3.resource('s3').Bucket(bucket).objects.filter(Prefix=prefix):
        total_size += obj.size
    return total_size

#4


4  

I use s3cmd du s3://BUCKET/ --human-readable to view size of folders in S3. It gives quite a detailed info about the total objects in the bucket and its size in a very readable form.

我使用s3cmd du s3:// BUCKET / --human-readable来查看S3中文件夹的大小。它以非常易读的形式提供了有关存储桶中总物体及其大小的详细信息。

#5


1  

As an alternative, you can try s3cmd, which has a du command like Unix.

作为替代方案,您可以尝试s3cmd,它具有像Unix这样的du命令。

#6


1  

Found here

在这里找到

aws s3api list-objects --bucket cyclops-images --output json --query "[sum(Contents[].Size), length(Contents[])]" | awk 'NR!=2 {print $0;next} NR==2 {print $0/1024/1024/1024" GB"}'

#7


0  

s3cmd du --human-readable --recursive s3://Bucket_Name/

s3cmd du --human-readable --recursive s3:// Bucket_Name /

#8


-2  

aws s3 ls --summarize --human-readable --recursive s3://Bucket_Name/folder/

aws s3 ls --summarize --human-readable --recursive s3:// Bucket_Name / folder /

is very simple and fast for either objects (what s3 calls folders) or buckets.

对于任何对象(s3调用文件夹)或存储桶来说都非常简单快捷。

#1


14  

As of the 28th July 2015 you can get this information via CloudWatch.

截至2015年7月28日,您可以通过CloudWatch获取此信息。

aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2015-07-15T10:00:00 
--end-time 2015-07-31T01:00:00 --period 86400 --statistics Average --region us-east-1 
--metric-name BucketSizeBytes --dimensions Name=BucketName,Value=myBucketNameGoesHere 
Name=StorageType,Value=StandardStorage


Important: You must specify both StorageType and BucketName in the dimensions argument otherwise you will get no results.

#2


12  

Amazon has changed the Web interface so now you have the "Get Size" under the "More" menu.

亚马逊已经更改了Web界面,所以现在您在“更多”菜单下有“获取大小”。

#3


9  

Two ways,

两种方式,

Using aws cli

使用aws cli

aws s3 ls --summarize --human-readable --recursive s3://bucket/folder/

aws s3 ls --summarize --human-readable --recursive s3:// bucket / folder /

If we omit '/' in the end, it will get all the folders starting with your folder name and give a total size of all.

如果我们最后省略'/',它将获得以您的文件夹名称开头的所有文件夹,并给出所有文件夹的总大小。

aws s3 ls --summarize --human-readable --recursive s3://bucket/folder

aws s3 ls --summarize --human-readable --recursive s3:// bucket / folder

Using boto3 api

使用boto3 api

import boto3

def get_folder_size(bucket, prefix):
    total_size = 0
    for obj in boto3.resource('s3').Bucket(bucket).objects.filter(Prefix=prefix):
        total_size += obj.size
    return total_size

#4


4  

I use s3cmd du s3://BUCKET/ --human-readable to view size of folders in S3. It gives quite a detailed info about the total objects in the bucket and its size in a very readable form.

我使用s3cmd du s3:// BUCKET / --human-readable来查看S3中文件夹的大小。它以非常易读的形式提供了有关存储桶中总物体及其大小的详细信息。

#5


1  

As an alternative, you can try s3cmd, which has a du command like Unix.

作为替代方案,您可以尝试s3cmd,它具有像Unix这样的du命令。

#6


1  

Found here

在这里找到

aws s3api list-objects --bucket cyclops-images --output json --query "[sum(Contents[].Size), length(Contents[])]" | awk 'NR!=2 {print $0;next} NR==2 {print $0/1024/1024/1024" GB"}'

#7


0  

s3cmd du --human-readable --recursive s3://Bucket_Name/

s3cmd du --human-readable --recursive s3:// Bucket_Name /

#8


-2  

aws s3 ls --summarize --human-readable --recursive s3://Bucket_Name/folder/

aws s3 ls --summarize --human-readable --recursive s3:// Bucket_Name / folder /

is very simple and fast for either objects (what s3 calls folders) or buckets.

对于任何对象(s3调用文件夹)或存储桶来说都非常简单快捷。