如何获取Amazon Object的公共路径

本文关键字:Object 路径 Amazon 何获取 获取 | 更新日期: 2023-09-27 17:54:42

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

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,但我想知道我是否可以避免这种配置,并在检索时实际从对象本身获取。

如何获取Amazon Object的公共路径

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

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

这是公共路径