gpt4 book ai didi

java - AWS 使用 java api 获取 S3 存储桶大小

转载 作者:行者123 更新时间:2023-12-01 18:15:47 24 4
gpt4 key购买 nike

我在 google 上搜索了获取有关 S3 存储桶元数据(例如其大小和文件数量)的有效方法。我发现this讨论此类问题的链接。但它适用于使用 cloud-watch 的 PHP 和 aws cli。我想知道是否有一些 java api 来获取 s3 存储桶元数据?

谢谢

最佳答案

您可以在此处找到 AWS S3 Java 库的详细文档:

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/overview-summary.html

回答您的问题,您可以使用 getSize() 获取 S3 中对象的大小,并且可以迭代所有文件以获取存储桶的大小。

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/S3ObjectSummary.html#getSize()

S3 不支持直接收集磁盘使用情况(意味着不迭代所有项目),但您可以使用 CloudWatch 通过单个请求获取您想要使用的数据。

示例查询:

aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2016-01-01T10:00:00 --end-time 2016-02-12T01:00:00 --period 86400 --statistics Average --region us-east-1 --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=www.streambrightdata.com Name=StorageType,Value=StandardStorage

返回:

{
"Datapoints": [
{
"Timestamp": "2016-02-05T10:00:00Z",
"Average": 54027423.0,
"Unit": "Bytes"
},
{
"Timestamp": "2016-02-03T10:00:00Z",
"Average": 52917504.0,
"Unit": "Bytes"
},
{
"Timestamp": "2016-02-04T10:00:00Z",
"Average": 53417421.0,
"Unit": "Bytes"
},
{
"Timestamp": "2016-02-07T10:00:00Z",
"Average": 54949563.0,
"Unit": "Bytes"
},
{
"Timestamp": "2016-02-01T10:00:00Z",
"Average": 24951965.0,
"Unit": "Bytes"
},
{
"Timestamp": "2016-02-02T10:00:00Z",
"Average": 28254636.0,
"Unit": "Bytes"
},
{
"Timestamp": "2016-02-06T10:00:00Z",
"Average": 54577328.0,
"Unit": "Bytes"
}
],
"Label": "BucketSizeBytes"
}

适用于 CloudWatch 的 AWS Java 开发工具包:

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloudwatch/AmazonCloudWatchClient.html

关于java - AWS 使用 java api 获取 S3 存储桶大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60372759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com