我想知道 Amazon Simple Storage Service (Amazon S3) 存储桶的总大小和对象的数量。
解决方法
要获取存储桶的大小和对象的数量,请使用 Amazon S3 控制台、Amazon S3 Storage Lens 存储统计管理工具、Amazon CloudWatch 或 S3 清单。您也可以使用 AWS 命令行界面 (AWS CLI) 来获取 S3 存储桶的大小和对象的数量。
**重要事项:**如果您启用了存储桶版本控制,请将其关闭。当启用了版本控制时,将无法计算 Amazon S3 存储桶中对象的总大小和数量。
使用 Amazon S3 控制台
要计算存储桶大小,请使用 Calculate total size(计算总大小)操作。
**注意:**Amazon S3 不会将分段上传以及之前或非当前版本计算在存储桶的总大小内。Amazon S3 仅会计算存储在存储桶中的每个对象的当前或最新版本的对象总数。
完成以下步骤:
- 打开 Amazon S3 控制台。
- 选择要计算的存储桶的名称。
- 在 Objects(对象)中,选择存储桶中的所有对象。
- 选择 Actions(操作),然后选择 Calculate total size(计算总大小)。
- 在 Summary(摘要)中,记下 Total number of objects(对象总数)和 Total size(总大小)字段中的数字。
使用 S3 Storage Lens 存储统计管理工具
完成以下步骤:
- 打开 Amazon S3 控制台。
- 在导航窗格中,展开 Storage lens(Storage Lens 存储统计管理工具),然后选择 Dashboards(控制面板)。
- 在 Dashboards(控制面板)中,选择 default-account-dashboard。
- 展开 Filters(筛选条件),然后选择 Buckets(存储桶)下拉列表。
- 选择要计算的存储桶,然后选择 Apply(应用)。
- 在 Snapshot(快照)中,查看存储桶的 Total storage(总存储空间)和 Object count(对象计数)指标。
您可以使用 Storage Lens 组来组合指标。您还可以选择高级指标以使用更多指标和功能,但需要额外付费。有关高级指标定价的信息,请参阅 Amazon S3 定价。
使用 CloudWatch
完成以下步骤:
- 在与您的 S3 存储桶相同的 AWS 区域中打开 CloudWatch 控制台。
- 在导航窗格中,展开 Metrics(指标),然后选择 All metrics(所有指标)。
- 在 Metrics(指标)中,选择 S3。
- 选择 Storage Metrics(存储指标)。
- 在 BucketName 中,选择要计算的存储桶。
- 在 Storage metrics(存储指标)搜索栏中,输入 BucketSizeBytes 以显示存储桶大小。
- 在 Storage metrics(存储指标)搜索栏中,输入 StorageType 以显示对象的数量。
CloudWatch 每天记录一次 Amazon S3 指标,因此指标可能不会显示最新的信息。但是,CloudWatch 会实时监控您的 AWS 资源和应用程序。
**注意:**如果获取指标的方法存在差异,则表明对象版本控制已启用,或上传未完成。有关详细信息,请参阅为什么 Amazon S3 控制台、CloudWatch 和 S3 Storage Lens 存储统计管理工具的存储和大小指标之间存在差异?
使用 S3 清单
Amazon S3 清单报告会每天或每周列出您的对象及其元数据。配置 Amazon S3 清单后,您可以使用 Amazon Athena 查询 S3 清单文件,以获取存储桶的大小和对象的数量。有关详细信息,请参阅如何使用 Athena 查询我的 Amazon S3 清单报告?
**注意:**如果您配置了 S3 清单报告但收到了 Access Denied(拒绝访问)错误,请参阅为什么无法生成 Amazon S3 清单报告?
使用 AWS CLI
**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要获取 Amazon S3 存储桶的大小和对象的数量,请运行以下 Is 命令:
aws s3 ls --summarize --human-readable --recursive s3://bucket-name/
**注意:**请将 bucket-name 替换为您的 S3 存储桶名称。
要获取目录的大小,请运行以下 Is 命令:
aws s3 ls --summarize --human-readable --recursive s3://bucket-name/directory-name
**注意:**请将 directory-name 替换为您的目录名称。
创建生命周期规则
如果您收到超时错误或 XML 错误,请创建生命周期配置规则以删除过期的标记。
完成以下步骤:
- 打开 Amazon S3 控制台。
- 选择 Management(管理)选项卡。
- 选择创建新策略。
- 添加策略的名称。
- 选择 Select - Delete expired delete markers or incomplete multipart uploads(选择 - 删除过期的删除标记或未完成的分段上传)。
- (可选)如果您未在存储桶上激活版本控制,请选择 Delete incomplete multipart uploads(删除未完成的分段上传)。
有关详细信息,请参阅在启用了版本控制的存储桶中移除到期对象删除标记。
相关信息
Find out the size of your Amazon S3 buckets
如何使用 S3 Storage Lens 存储统计管理工具控制面板查看 Amazon S3 存储桶的前缀级别指标?
CloudWatch 中存储桶的 Amazon S3 每日存储指标
使用 Amazon CloudWatch 监控指标