Est-ce qu'Amazon fournit un moyen simple de savoir combien de stockage mon compartiment ou dossier S3 utilise? C'est pour que je puisse calculer mes coûts, etc.
Amazon a changé l'interface Web et vous avez maintenant la "Taille" dans le menu "Plus".
À partir du 28 juillet 2015, vous pouvez obtenir ces informations via CloudWatch.
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 us-east-1
--metric-name BucketSizeBytes --dimensions Name=BucketName,Value=myBucketNameGoesHere
Name=StorageType,Value=StandardStorage
Important: You must specify both StorageType and BucketName in the dimensions argument otherwise you will get no results.
Deux manières,
Utiliser aws cli
aws s3 ls --summarize --human-lisible --recursive s3: // seau/dossier/
Si nous omettons "/" à la fin, tous les dossiers commençant par votre nom de dossier seront affichés et leur taille totale sera indiquée.
aws s3 ls --summarize --humain-lisible --recursive s3: // seau/dossier
Utilisation de boto3 api
import boto3
def get_folder_size(bucket, prefix):
total_size = 0
for obj in boto3.resource('s3').Bucket(bucket).objects.filter(Prefix=prefix):
total_size += obj.size
return total_size
J'utilise s3cmd du s3://BUCKET/ --human-readable
pour afficher la taille des dossiers dans S3. Il donne des informations assez détaillées sur le nombre total d'objets dans le compartiment et sur sa taille sous une forme très lisible.
Vous pouvez également essayer s3cmd , qui possède une commande du comme Unix.
Trouvé ici
aws s3api list-objects --bucket cyclops-images --output json --query "[sum(Contents[].Size), length(Contents[])]" | awk 'NR!=2 {print $0;next} NR==2 {print $0/1024/1024/1024" GB"}'
s3cmd du --humain-lisible --recursive s3: // Bucket_Name /