我正在尝试从我的S3存储桶(仅某个文件夹的第3级)列出对象:
bucket
samples
XXXX
XXXX_XXXXX
XXXX_XXXXX
YYYY
YYYY_YYYYY
YYYY_YYYYY
仅XXXX_XXXXX和YYYY_YYYYY文件夹。
使用C#,这是我的代码:
using (IAmazonS3 client = new AmazonS3Client("awsAccessKeyId", "awsSecretAccessKey", RegionEndpoint.GetBySystemName("eu-central-1")))
{
ListObjectsRequest request = new ListObjectsRequest
{
BucketName = bucketName,
Prefix = "samples/",
Delimiter = "/"
};
do
{
ListObjectsResponse response = client.ListObjects(request);
if (response.S3Objects.Count() > 0)
{ // CODE }
response.S3Objects为空。如果我从“请求”中删除定界符,则返回所有对象,并且加载时间太长。 我一直在关注AWS S3 docs,但它什么也没返回。请帮助我了解问题所在。非常感谢。
答案 0 :(得分:1)
您需要查看的是CommonPrefixes
,而不是S3Objects
。 CommonPrefixes
为您提供所有直到 next 分隔符的前缀,您可以使用每个前缀来重复请求,每次都更深一层。