Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
Php 仅返回满足时间要求的对象_Php_Amazon Web Services_Amazon S3 - Fatal编程技术网

Php 仅返回满足时间要求的对象

Php 仅返回满足时间要求的对象,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,以下代码返回我的S3存储桶中的所有对象: $iterator = $s3Client->getIterator('ListObjects', array( 'Bucket' => $bucket )); 是否可以只返回自“X”时间以来已修改(或上载)的文件?现在它返回所有文件,我必须检查每个文件,检查它是否在“X”时间之后被修改过,这会增加大量时间,而且成本更高。没有内置机制。但是,根据您需求的性质,您也可以考虑: 使用以csv格式获取AWS为您准备的对象列表。并使用该列表

以下代码返回我的S3存储桶中的所有对象:

$iterator = $s3Client->getIterator('ListObjects', array(
    'Bucket' => $bucket
));

是否可以只返回自“X”时间以来已修改(或上载)的文件?现在它返回所有文件,我必须检查每个文件,检查它是否在“X”时间之后被修改过,这会增加大量时间,而且成本更高。

没有内置机制。但是,根据您需求的性质,您也可以考虑:

  • 使用以
    csv
    格式获取AWS为您准备的对象列表。并使用该列表获取最后一个对象。它不是实时的,因为库存每天或每周创建一次

  • 将对象的元数据存储在中,例如,DynamoDB。bucket中的任何新对象都将其元数据(如创建时间)存储在DynamoDB中。这将允许您高效地获取和查询稍后要使用的对象

  • 还有其他的可能性,比如使用两个bucket结合
    复制
    生命周期
    ,一个bucket只包含当前对象,另一个bucket包含所有对象。如果您想根据时间戳按字母顺序命名对象,还可以使用
    --start after
    。然而,上述两种解决方案似乎最为普遍