2013-01-19 27 views
0

我目前上市我的根對象爲:如何獲取Amazon對象的公共路徑?

var files = new List<string>(); 
var request = new ListObjectsRequest(); 
request.WithBucketName(bucketName); 

try 
{ 
    using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(this.accessKey, this.secretAccessKey)) 
    using (ListObjectsResponse r = client.ListObjects(request)) 
     foreach (var o in r.S3Objects) 
      //o.ETag, o.Key, o.StorageClass, o.Size 
      if (o.Size > 0) 
       files.Add(o.Key); 
} 
catch (Exception ex) 
{ 
    // log exception 
} 

o.Key有文件名,但我想獲得公共路徑該文件名,我不縫找幫手獲取對現有文件的這種引用。

我通常在配置文件中使用公共存儲區 url,但我想知道是否可以避免這樣的配置,並實際從對象本身獲取。

回答

0

發現這是一個輕鬆一點的亞馬遜S3遵循一個約定:

string path = String.Format("http://{0}.s3.amazonaws.com/", originBucketName); 

,這將是該公共路徑。