gpt4 book ai didi

ios - 如何获取 Amazon S3 存储桶中文件夹内的文件列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:47:21 24 4
gpt4 key购买 nike

好的,我明白了thisthisdocumentation告诉亚马逊是平面文件系统,要创建/获取/设置文件夹,必须使用 Delimiter='/' 和 Prefix。

但是我没明白,我的意思是我不会写代码。所以我有一个存储桶和一个包含一些文件的文件夹,我想要这些文件的列表

所以我尝试了 bucket/folder/bucket/folder/bucket/folder/ 所有这些都失败了。

如果我只尝试bucket,它工作正常

S3ListObjectsRequest *getListObjectsRequest= [[S3ListObjectsRequest alloc] initWithName:@"bucket"]; // tried also here bucket/folder , /bucket/folder/ ,  bucket/folder/ 
S3ListObjectsResponse *getListObjectsResponse = [self.s3 listObjects:getListObjectsRequest];

//test to see inside of the folder
NSArray *objectsinamazon = [self.s3 listObjectsInBucket:@"bucket"]; //as I said I tried bucket/folder , /bucket/folder/ , bucket/folder/ all od this fails.

NSLog(@"array is %@",objectsinamazon);

S3ListObjectsResult *listObjectsResults = getListObjectsResponse.listObjectsResult;



for (S3ObjectSummary *objectSummary in listObjectsResults.objectSummaries) {

NSLog(@"Bucket Contents %@:",[objectSummary key]);
//get last modified date of file by using meta data
S3GetObjectMetadataRequest *getMetadataRequest = [[S3GetObjectMetadataRequest alloc] initWithKey:[objectSummary key] withBucket:@"bucket"];
S3GetObjectMetadataResponse *getMetadataResponse = [self.s3 getObjectMetadata:getMetadataRequest];

}
}

我要求准确的语法(代码)将 bucket/folder 请求发送到 amazon s3

最佳答案

S3 不是扁平的,它只有两个级别:桶和对象名称(它是扁平的内部桶)。水桶永远只是水桶。您正在尝试添加到您的存储桶名称,这会产生无效的存储桶名称。

前缀和分隔符参数为properties on S3ListObjectsRequest .我的 Objective-C 已经生锈了,但我认为你可以设置这些属性:

getListObjectsRequest.prefix = @"my/prefix/";
getListObjectsRequest.delimiter = @"/";

在您向 S3 提交请求之前。

关于ios - 如何获取 Amazon S3 存储桶中文件夹内的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15276180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com