Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 列出AmazonS3 bucket中的对象_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 列出AmazonS3 bucket中的对象

Amazon web services 列出AmazonS3 bucket中的对象,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我计划在S3中存储一组与用户相关的文件,并考虑在单个user databucket中组织前缀与下面类似的文件 unique-user-guid/images/image1.jpg unique-user-guid/images/image1.jpg ... unique-user-guid/docs/file1.pdf unique-user-guid/docs/file2.txt ... 我希望使用类似于下面的代码来获取与特定用户guid相关的所有对象 ListObjectsV2Re

我计划在S3中存储一组与用户相关的文件,并考虑在单个
user data
bucket中组织前缀与下面类似的文件

unique-user-guid/images/image1.jpg
unique-user-guid/images/image1.jpg
...
unique-user-guid/docs/file1.pdf
unique-user-guid/docs/file2.txt
...
我希望使用类似于下面的代码来获取与特定用户guid相关的所有对象

    ListObjectsV2Request request = new ListObjectsV2Request();
    request.setBucketName("user-bucket");
    request.setPrefix("unique-user-guid/");
    ListObjectsV2Result result = s3Client.listObjectsV2(request);

它是组织用户特定数据和按需列出对象的有效方法吗?我预计系统中有大约500k的独立用户

你的方法看起来是完全可行的

每个
ListObjects()
调用最多返回1000个对象,因此您可能需要检索更多结果。但是,你的数量表明这将是罕见的

使用
setPrefix
将非常好地限制结果集,并且由于AmazonS3存储其索引的方式,因此应该非常有效


另一种方法是将对象存储在唯一ID(GUID)下,然后使用数据库跟踪对象、名称、元数据、所有者等。

您的方法看起来是完全可行的

每个
ListObjects()
调用最多返回1000个对象,因此您可能需要检索更多结果。但是,你的数量表明这将是罕见的

使用
setPrefix
将非常好地限制结果集,并且由于AmazonS3存储其索引的方式,因此应该非常有效


另一种方法是在唯一ID(GUID)下存储对象,然后使用数据库跟踪对象、名称、元数据、所有者等。

您希望每个用户存储多少对象?我预计每个用户可以存储50到1000个对象。平均值可能在500左右。我现在也可以设定一些上限,但将来可能会超出上限。如果每个用户的对象需要支持更高的数量,您会提出不同的解决方案吗?您希望每个用户存储多少个对象?我预计每个用户可以存储50到1000个对象。平均值可能在500左右。我现在也可以设定一些上限,但将来可能会超出上限。如果每个用户的对象需要支持更高的数量,您会提出不同的解决方案吗?