In a previous post (learning how to use S3Ajax to access Amazon S3), I show how to use Chickenfoot and S3Ajax to list S3 buckets. Here is a slight elaboration of the code to list the keys within buckets (in addition to the buckets):
include("D:\\document\\JavaScriptLib\\sha1.js"); include("D:\\document\\JavaScriptLib\\S3Ajax.js"); var AWSAccessKeyId = "[AWSAccessKeyId]"; var AWSSecretAccessKey = "[AWSSecretAccessKey]"; S3Ajax.DEBUG = true; S3Ajax.KEY_ID = AWSAccessKeyId; S3Ajax.SECRET_KEY = AWSSecretAccessKey; function s3_listKeys(bucket) { S3Ajax.listKeys(bucket,null, function(req, obj) { var contents = obj.ListBucketResult.Contents; for (var i=0, item; item=contents[i]; i++) { output("key: " + bucket + ": " + item.Key + " [" + item.LastModified + '] ' + " (" + item.Size + ")"); } }, function(req,obj) { output("s3_listKeys failed at " + (new Date())); } ) } // s3_listKeys S3Ajax.listBuckets( function(req, obj) { if (obj.ListAllMyBucketsResult) { var buckets = obj.ListAllMyBucketsResult.Buckets.Bucket; for (var i=0, bucket; bucket=buckets[i]; i++) { output ( "bucket: " + bucket.Name + ' ['+ bucket.CreationDate+']' ); s3_listKeys(bucket.Name); } } }, function(req) { output ("Buckets list failed at "+(new Date())); } );
Post a Comment