मेरे पास AWS खाता है। मैं विभिन्न सर्वरों से बैकअप स्टोर करने के लिए S3 का उपयोग कर रहा हूं। प्रश्न यह है कि मेरे S3 क्लाउड में डिस्क स्थान का उपयोग करने के बारे में AWS कंसोल में कोई जानकारी है?
मेरे पास AWS खाता है। मैं विभिन्न सर्वरों से बैकअप स्टोर करने के लिए S3 का उपयोग कर रहा हूं। प्रश्न यह है कि मेरे S3 क्लाउड में डिस्क स्थान का उपयोग करने के बारे में AWS कंसोल में कोई जानकारी है?
जवाबों:
Yippe - AWS CLI के लिए एक अपडेट आपको बाल्टी के माध्यम से पुनरावर्ती एलएस की अनुमति देता है ...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
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 eu-west-1 --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=toukakoukan.com Name=StorageType,Value=StandardStorage
महत्वपूर्ण: आपको स्टोरेज टाइप और बकेटनेम दोनों को आयाम तर्क में निर्दिष्ट करना होगा अन्यथा आपको कोई परिणाम नहीं मिलेगा।
मुझे यकीन नहीं है जब यह जोड़ा गया था AWSCLI को दिया गया था कि मूल प्रश्न 3 साल पहले था, लेकिन कमांड लाइन टूल रन करके एक अच्छा सारांश देता है:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
for b in $(aws s3 ls | awk '{ print $NF }'); do printf "$b "; aws s3 ls s3://$b --recursive --human-readable --summarize | tail -1; done
AWS कंसोल का उपयोग करके S3 बाल्टी के आकार का पता लगाने के लिए:
उम्मीद है की यह मदद करेगा।
ls
-based समाधानों के साथ नहीं।
s3cmd आपको इसे चलाकर दिखा सकता है s3cmd du
, वैकल्पिक रूप से बाल्टी नाम को एक तर्क के रूप में पारित कर सकता है।
AWS CLI अब उस --query
पैरामीटर का समर्थन करता है जो JMESPath अभिव्यक्तियों को लेता है ।
इसका अर्थ है कि आप list-objects
उपयोग करके sum(Contents[].Size)
और दिए गए आकार की गणना कर सकते हैं length(Contents[])
।
यह नीचे के रूप में आधिकारिक AWS CLI का उपयोग करके चलाया जा सकता है और फरवरी 2014 में पेश किया गया था
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
In function sum(), invalid type for value: None, expected one of: ['array-number'], received: "null"
अन्यथा क्वेरी बढ़िया काम करती है!
लिनक्स बॉक्स पर python
( pip
इंस्टॉलर के साथ ), grep
और awk
, एडब्ल्यूएस सीएलआई स्थापित करें (ईसी 2, एस 3 और कई अन्य तरीकों के लिए कमांड लाइन टूल)
sudo pip install awscli
फिर .awssecret
नीचे के रूप में सामग्री के साथ अपने घर के फ़ोल्डर में एक फ़ाइल बनाएं (कुंजी, गुप्त और आवश्यकतानुसार क्षेत्र को समायोजित करें):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
इस फ़ाइल को केवल अपने उपयोगकर्ता को पढ़ें-लिखें:
sudo chmod 600 .awssecret
और इसे अपने वातावरण में निर्यात करें
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
फिर टर्मिनल में चलाएं (यह एक एकल पंक्ति कमांड है, जो \
यहां पढ़ने के लिए अलग है ):
aws s3 ls s3://<bucket_name>/foo/bar | \
grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | \
awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws
भाग बाल्टी (या वैकल्पिक रूप से 'उप-फ़ोल्डर') को सूचीबद्ध करता हैgrep
भाग -v
रेगुलर एक्सप्रेशन (उपयोग -E
) से मेल खाती लाइनों को हटाता है (उपयोग करके )। ^$
रिक्त रेखा के लिए है, --
के आउटपुट में विभाजक रेखाओं के लिए हैaws s3 ls
awk
जोड़ें total
(KB में आकार) तो इसे अंत में प्रदर्शित करेंध्यान दें कि यह आदेश वर्तमान बाल्टी या 'फ़ोल्डर' के लिए काम करता है, पुनरावर्ती नहीं
Https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket देखें
विक द्वारा उत्तर दिया गया ...
<?php
if (!class_exists('S3')) require_once 'S3.php';
// Instantiate the class
$s3 = new S3('accessKeyId', 'secretAccessKey');
S3::$useSSL = false;
// List your buckets:
echo "S3::listBuckets(): ";
echo '<pre>' . print_r($s3->listBuckets(), 1). '</pre>';
$totalSize = 0;
$objects = $s3->getBucket('name-of-your-bucket');
foreach ($objects as $name => $val) {
// If you want to get the size of a particular directory, you can do
// only that.
// if (strpos($name, 'directory/sub-directory') !== false)
$totalSize += $val['size'];
}
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
?>
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
स्रोत कोड के निचले भाग में है।
API (aws cli या s4cmd) के माध्यम से बड़े बकेट का आकार प्राप्त करना काफी धीमा है। यहाँ मेरा HowTo कैसे एक लाइनर का उपयोग S3 उपयोग रिपोर्ट पार्स करने के लिए समझा रहा है :
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
AWS कंसोल आपको यह नहीं दिखाएगा, लेकिन बाल्टी के कुल आकार को प्राप्त करने के लिए आप बकेट एक्सप्लोरर या क्लाउडबेरी एक्सप्लोरर का उपयोग कर सकते हैं । दोनों के मुफ्त संस्करण उपलब्ध हैं।
नोट: इन उत्पादों को अभी भी प्रत्येक व्यक्तिगत वस्तु का आकार प्राप्त करना है, इसलिए यह बहुत सी वस्तुओं के साथ बाल्टी के लिए एक लंबा समय ले सकता है।
@ Cudds के उत्तर के आधार पर:
function s3size()
{
for path in $*; do
size=$(aws s3 ls "s3://$path" --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{printf "%.2fGb\n", (total/1024/1024/1024)}')
echo "[s3://$path]=[$size]"
done
}
...
$ s3size bucket-a bucket-b/dir
[s3://bucket-a]=[24.04Gb]
[s3://bucket-b/dir]=[26.69Gb]
इसके अलावा, साइबरडैक आसानी से एक बाल्टी या एक फ़ोल्डर के लिए आकार की गणना के लिए अनुमति देता है।
मिनी जॉन का जवाब पूरी तरह से मेरे लिए काम किया! बहुत बढ़िया ... जोड़ना था
--region eu-west-1
हालांकि यूरोप से
यह एक पुरानी पूछताछ है, लेकिन जब से मैं उस जवाब की तलाश में था, मैं उसके पार चला गया था। कुछ उत्तरों ने मुझे याद दिलाया कि मैं डेटा को प्रबंधित करने के लिए S3 ब्राउज़र का उपयोग करता हूं। आप एक बाल्टी और हिट गुणों पर क्लिक कर सकते हैं और यह आपको कुल दिखाता है। बहुत साधारण। मैं अत्यधिक ब्राउज़र की सलाह देता हूं: https://s3browser.com/default.aspx?v=6-1-1&fam=x64
ठीक है, आप इसे S3 क्लाइंट के माध्यम से भी कर सकते हैं यदि आप एक मानव अनुकूल यूआई पसंद करते हैं।
मैं क्रॉसफ़टीपी का उपयोग करता हूं , जो मुफ़्त और क्रॉस-प्लेटफ़ॉर्म है, और वहां आप फ़ोल्डर निर्देशिका पर राइट-क्लिक कर सकते हैं -> "गुण ..." का चयन करें -> आकार और वॉयला के बगल में "गणना" बटन पर क्लिक करें।
आपने पूछा: मेरे S3 क्लाउड पर डिस्क स्थान का उपयोग करने के बारे में AWS कंसोल में जानकारी ?
मैं बिलिंग डैशबोर्ड पर जाता हूं और वर्तमान बिल में एस 3 उपयोग की जांच करता हूं ।
वे आपको सूचना देते हैं - MTD - Gb में 6 दशमलव अंक, IOW, को Kb स्तर तक।
यह क्षेत्र से टूट गया है, लेकिन उन्हें जोड़ना (यह मानकर कि आप एक से अधिक क्षेत्रों का उपयोग करते हैं) काफी आसान है।
BTW: आपको बिलिंग जानकारी प्राप्त करने के लिए विशिष्ट IAM अनुमतियों की आवश्यकता हो सकती है।
मैं अलग-अलग बाल्टियों का आकार पाने के लिए क्लाउड टर्टल का उपयोग करता हूं । यदि बाल्टी का आकार> 100 जीबी से अधिक है, तो आकार प्रदर्शित करने में कुछ समय लगेगा। क्लाउड टर्टल फ्रीवेयर है।