2010-04-28 54 views
2

我試圖找到一種方法,使用Amazon S3的.Net來獲取一個存儲桶的名稱。我只能找到ListAllBuckets(),但我真的不想這樣做,然後嘗試從響應中找到它。如何在.Net S3 SDK中按名稱獲取存儲桶?

+1

我有烏爾bukkit – Ben 2010-04-28 02:05:21

回答

0

這爲我工作:

public static S3Bucket GetS3Bucket(string bucket) 
{ 
    try 
    { 
     AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKeyID, secretAccessKeyID); 
     return client.ListBuckets().Buckets.Where(b => b.BucketName == bucket).Single(); 
    } 
    catch (AmazonS3Exception amazonS3Exception) 
    { 
     throw amazonS3Exception; 
    } 
} 
+0

我最後做的東西就這樣我的解決方案。我將其標記爲答案。 – Ryan 2011-02-15 20:20:39

+0

@Ryan使用這個會更好一些: return client.ListBuckets()。Buckets.Single(b => b.BucketName == bucket); 無需使用不必要的Where功能。 – 2016-05-24 04:24:27

0

使用ListObjects()方法

using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(AWSKey, AWSSecretKey)) { 

    object req = new Model.ListObjectsRequest { BucketName = "MyBucket" }; 
    object resp = client.ListObjects(req); 

} 
相關問題