我已经搜索在谷歌约高效的方式来获取有关S3桶喜欢它的大小和它的文件数量的元数据获得S3桶大小。我发现this链接讨论这样的问题。但是这是针对PHP和aws cli使用云计算的。我想知道是否有一些java api来获取s3桶元数据?AWS使用的Java API
感谢
我已经搜索在谷歌约高效的方式来获取有关S3桶喜欢它的大小和它的文件数量的元数据获得S3桶大小。我发现this链接讨论这样的问题。但是这是针对PHP和aws cli使用云计算的。我想知道是否有一些java api来获取s3桶元数据?AWS使用的Java API
感谢
您可以找到AWS S3 Java库在这里的大量文件:
http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/overview-summary.html
回答你的问题,你可以使用的getSize()用于获取物体的大小S3,你可以迭代你的所有文件来获得你的桶的大小。
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"
}
AWS的Java SDK的CloudWatch的:
我有百万桶的文件,迭代他们花费太多时间。我希望有一些最快的方法来实现这一目标? – user3313379
hi Istvan!感谢您的回应,但有没有类似的Cloud API的Java API? – user3313379
是的,我在最近的更新中包含了URL。 – Istvan