public BucketAccess QueryBucket(string bucketName)
{
try
{
// recommended technique from amazon: try and list contents of the bucket with 0 maxkeys
var args = new ListObjectsArgs { MaxKeys = 0 };
new ListObjectsRequest(this, bucketName, args).GetResponse().Close();
return BucketAccess.Accessible;
}
catch (S3Exception exception)
{
switch (exception.ErrorCode)
{
case S3ErrorCode.NoSuchBucket: return BucketAccess.NoSuchBucket;
case S3ErrorCode.AccessDenied: return BucketAccess.NotAccessible;
default: throw;
}
}
}