我已經搜索在谷歌約高效的方式來獲取有關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