1

我是 Amazon S3 服务的新手。我有一个Amazon S3 数据库,目录(桶)结构如下:

-All bucket 
  -MyCompany
    -MyProduct 
      -Product_1
        - sub1_prod1
        - sub1_prod2
        ...
      -Product_2
        - sub2_prod1
        - sub2_prod2
        ...

正如您在上面看到的,在MyProduct桶下我有几个产品桶(例如 Product_1),在每个产品桶下我有几个子产品(例如sub1_prod1)。每个子产品包含多个文件。

现在,我想在我的 Android 客户端中实现 Java 代码来查询我存储桶下的所有产品MyProduct,我该怎么做?我正在使用Amazon Android SDK提供的AmazonS3Client类。

PS

我可以AmazonS3Client使用我的凭证创建我的对象。

AmazonS3Client s3 = new AmazonS3Client(myCred);

我知道如何在 java 代码中将文件上传到 S3 存储桶,但我不确定如何查询 S3 数据库并在我的 Android 客户端中获取结果,即获取每个 sub_product 存储桶下的所有文件名。

4

1 回答 1

1

我有一个 Amazon S3 数据库

恕我直言,Amazon S3 不是数据库,就像文件目录是数据库一样。您可能希望考虑作为实际数据库的其他 Amazon AWS 服务,例如 DynamoDB 或 RDS。

即获取每个 sub_product 存储桶下的所有文件名

通过阅读文档,您似乎需要使用一些listObjects().

蛮力方法是使用listObjects()采用存储桶名称的。这将为您提供所有内容的列表,您需要自己将它们分类到树结构中。

较少暴力的方法是使用带有listObjects()存储桶名称和前缀listObjects()ListObjectsRequest,或者带有参数的。使用文件系统术语,这将告诉您该目录中的文件和子目录。这样,您可以更轻松地下载这些片段。但是,这可能需要大量 HTTP 请求。

于 2013-10-27T14:55:15.440 回答