C# 如何获取Amazon对象的公共路径?

C# 如何获取Amazon对象的公共路径?,c#,amazon-web-services,amazon-s3,C#,Amazon Web Services,Amazon S3,我目前将我的根对象列为: var files = new List<string>(); var request = new ListObjectsRequest(); request.WithBucketName(bucketName); try { using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(this.accessKey, this.secretAccessKey))

我目前将我的根对象列为:

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
}
var files=newlist();
var request=new ListObjectsRequest();
请求。带bucketName(bucketName);
尝试
{
使用(AmazonS3 client=Amazon.AWSClientFactory.CreateAmazonS3Client(this.accessKey,this.secretAccessKey))
使用(ListObjectsResponse r=client.ListObjects(请求))
foreach(r.S3Objects中的变量o)
//o、 ETag,o.键,o.存储类,o.大小
如果(o.Size>0)
添加(o.Key);
}
捕获(例外情况除外)
{
//日志异常
}
o.Key
中有文件名,但是我想获取此文件名的公共路径,我不想找到有关获取对现有文件的此类引用的帮助


我通常在配置文件中使用公共Bucketurl,但我想知道是否可以避免这种配置,并在检索时实际从对象本身获取该配置。

发现这稍微容易一些,因为Amazon S3遵循一个约定:

string path = String.Format("http://{0}.s3.amazonaws.com/", originBucketName);
这将是公共路径