[英]How to list the folders at a specific path from an Amazon S3 bucket, in Objective C?
[英]how to get file list inside of a folder in Amazon S3 Bucket
好的,我看到了這個 , 這個 文檔告訴亞馬遜是平面文件系統,要創建/獲取/設置文件夾,必須使用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
請求發送到亞馬遜S3
S3不是平坦的,它只有兩個級別:存儲桶和對象名稱(存儲桶內部是平坦的)。 桶永遠只是桶。 您正在嘗試添加到存儲桶名稱,這會產生無效的存儲桶名稱。
prefix和delimiter參數是S3ListObjectsRequest的屬性 。 我的Objective-C生銹了,但是我認為您可以通過以下方式設置這些屬性:
getListObjectsRequest.prefix = @"my/prefix/";
getListObjectsRequest.delimiter = @"/";
在將請求提交給S3之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.