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 s3 搜寻及;在不下载文件的情况下,计算s3存储桶中特定模式的总实例数_Amazon S3_Boto_S3cmd - Fatal编程技术网

Amazon s3 搜寻及;在不下载文件的情况下,计算s3存储桶中特定模式的总实例数

Amazon s3 搜寻及;在不下载文件的情况下,计算s3存储桶中特定模式的总实例数,amazon-s3,boto,s3cmd,Amazon S3,Boto,S3cmd,我需要计算s3存储桶中具有匹配模式的行数。 我使用的命令是-: s3cmd ls --recursive s3://mys3.com/bucket1/ | awk '{print $4}' | grep '.lzo' | xargs -I@ s3cmd get @ - | zgrep 'my-pattern-of-interest-1' | zgrep 'my-pattern-of-interest-2'|wc -l 但这仍然是物理下载文件,是否有一个外部实用程序(例如boto),我仍然可以

我需要计算s3存储桶中具有匹配模式的行数。 我使用的命令是-:

s3cmd ls --recursive s3://mys3.com/bucket1/ | awk '{print $4}' | grep '.lzo' | xargs -I@ s3cmd get @ - | zgrep 'my-pattern-of-interest-1' |  zgrep 'my-pattern-of-interest-2'|wc -l

但这仍然是物理下载文件,是否有一个外部实用程序(例如boto),我仍然可以这样做,但不需要物理下载文件?我需要彻底扫描4-5个月的数据,因此我希望不惜一切代价避免下载。

如果不获取对象的内容,就无法分析S3中对象的内容。您可以启动一两个EC2实例并在那里进行处理,这样就不必将数据复制到本地机器上。那肯定会更快。今后,只要有新文件上传到bucket,您就可以使用AWS Lambda进行处理。但我不知道如何让Lambda处理S3中所有现有的对象