Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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 SDK列出AWS中按前缀过滤的对象_Php_Amazon Web Services_Amazon S3 - Fatal编程技术网

使用PHP SDK列出AWS中按前缀过滤的对象

使用PHP SDK列出AWS中按前缀过滤的对象,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我最近接到一项任务,管理通过Amazone Web服务存储的数据 根据Amazone的文档,我尝试使用以下代码列出一个bucket中的所有对象,效果很好: $aws = Aws::factory('/path/to/my/config.php'); $s3 = $aws->get('s3'); $it = $s3->getIterator('ListObjects', array ( 'Bucket' => 'myBucket', ) ); for

我最近接到一项任务,管理通过Amazone Web服务存储的数据

根据Amazone的文档,我尝试使用以下代码列出一个bucket中的所有对象,效果很好:

$aws = Aws::factory('/path/to/my/config.php');

$s3 = $aws->get('s3');

$it = $s3->getIterator('ListObjects', array (
        'Bucket' => 'myBucket',
    )
);

foreach($it as $o){
    echo $o['Key']."<br />";
}
(我要访问的文件的实际密钥为(scheme): myPrefix/subPrefix/subPrefix2/file.txt)

但是代码不断返回bucket中的所有对象。 我在亚马逊文档中没有找到任何关于我的问题的有用提示

有人能告诉我(其中一个)在PHP中列出给定前缀的所有对象的正确语法吗


提前感谢您根据以下线程提供的任何帮助

。。。需要将作为第二个参数传递给getIterator函数的数组的索引值大写:


prefix”=>“myPrefix/”,

根据以下线程

。。。需要将作为第二个参数传递给getIterator函数的数组的索引值大写:


prefix”=>“myPrefix/”,

如果有大量对象,我不建议使用这种方法。跟踪通过某个数据库存储的对象,然后搜索该数据库。您可以利用
S3通知
SNS
跟踪bucket中创建的对象。感谢您的提示。我会明确地检查这一点。如果你有大量的对象,我不建议使用这种方法。跟踪通过某个数据库存储的对象,然后搜索该数据库。您可以利用
S3通知
SNS
跟踪bucket中创建的对象。感谢您的提示。我一定会查清楚的。
        'prefix' => 'myPrefix/',