AWS如何列出存储桶中包含字符串的所有文件?

时间:2015-08-19 08:22:28

标签: amazon-web-services amazon-s3

这里是我用来获取存储桶s3中所有文件的代码:

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$client = S3Client::factory(array(
        'key'       => 'key',
        'secret'    => 'secret',
        'region'    => 'eu-east-1'
    ));
$client->registerStreamWrapper();
$objects = $client->getListObjectsIterator(array(
    'Bucket' => "bucket_name",
    'Prefix' => 'folder_name/'
));

如何只获取名称包含字符串的文件?

感谢。

1 个答案:

答案 0 :(得分:2)

通过S3 API无法做到这一点,因为如果该字符串是您要列出的键的前缀,则S3 API允许您按字符串过滤。

因此,您必须列出所有键,将结果输出到变量,然后以编程方式过滤该列表。

当然,您可以在首先检索列表时使用前缀过滤器来获取更短的列表。