当前位置: 首页 > 知识库问答 >
问题:

新手:在Android客户端查询amazon s3数据库(Java)

魏旭
2023-03-14

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

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

如上所述,在MyProductbucket下我有几个产品bucket(例如product_1),在每个产品bucket下我有几个子产品(例如sub1_prod1)。每个子产品都包含多个文件

现在,我想在我的Android客户端中实现Java代码,以便在MyProductbucket下查询我的所有产品,我该怎么做?我使用的是亚马逊Android SDK提供的AmazonS3Client类。

附笔。:

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

AmazonS3Client s3 = new AmazonS3Client(myCred);

我知道如何用java代码将文件上传到S3 bucket,但我不确定如何查询S3数据库

共有1个答案

宗政霄
2023-03-14

我有一个Amazon S3数据库

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

这是为了得到每个sub_product桶下的所有文件名

通过阅读文档,您似乎需要使用某种风格的listObjects()

蛮力方法是使用只取桶名的listObject()。这将给你一个所有东西的列表,你需要自己把它们排序到树结构中。

更少暴力的方法是使用包含桶名和前缀的listObject(),或者包含listObjectsRequest参数的listObject()。为了使用文件系统术语,这将告诉您该目录中的文件和子目录。这样,您可以更容易地下载这些片段。然而,这可能需要大量的HTTP请求。

 类似资料:
  • 我有一个小程序,其方法从浏览器中的JavaScript函数调用。该方法最终将文件发送到AmazonS3 bucket。但是,当该方法尝试创建AmazonS3Client时,该方法失败,不会显示任何错误。 该方法中代码的相关代码片段是: try/catch块中的任何消息都不会打印。方法的其余代码(为简洁起见,此处未显示)也不会被触发。 jar文件编译无误。我用的是jdk 1.7.0_51和amazo

  • 问题内容: 我在C#/ Visual Studio 2008中使用MySQL。我需要知道任何方法,以便如果一个用户更新数据库,则通过网络通知所有已登录用户已发生更改。如果我通过我的应用程序登录数据库,那时候数据库中最新记录的序列号是10,然后我有特权的人更新了数据库中的记录,同时我收到通知,数据库已更新为新记录。常见的例子可能是MSN Messenger的一个朋友上线时向他发出警报的提示……虽然我

  • 我正在尝试使用带有查询的脚本来更新特定的文档,但我不确定我需要使用jest客户端的哪一个类,该客户端与update by query一起工作 而不是_update如何获取_update_by_query

  • 我正在处理的程序包含两个类,GUI和DatabaseHelper。使用的表模型是DefaultTableModel。 GUI包含一个简单的JTable。它在启动时使用来自DatabaseHelper的数据初始化。这管用。 然而,当尝试将新数据加载到表中时,就不是那么直接了当了。 到目前为止,我的做法是: 现在发生的情况是,加载的数据被附加到已经存在的JTable上。 如果可能的话,我希望实现一个仅

  • 我使用CAS和Spnego支持,KDC是192.168.1.244,我的领域是示例。COM我测试了我的本地Windows域环境,我可以从示例中获得票证。com我用“kinit”命令测试它,但在CAS spnego环境中,在Kerberos数据库中找不到异常客户端,我已经在C:\windows\krb5.ini中创建了它,内容如下 krb5.ini 异常报告如下: 但为什么在kerberos数据库中

  • 我有这个quarkus rest API: api工作得很好,但是如果我将此值传递给方法,rest客户端将其编码为'USSU%25OS':