我想知道是否可以捕获存储在amazon s3上的gzip文件.也许使用一些流媒体客户端.你怎么看?
我们正在寻找类似的操作 zcat s3://bucket_name/your_file | grep "log_id"
您还可以使用s3cat,它是Tim Kay的AWS命令行工具包的一部分:
为了得到相同的zcat FILENAME | grep "log_id",你会做:
> s3cat BUCKET/OBJECT | zcat - | grep "log_id"
要使用GET,您必须具有对该对象的READ访问权限.如果您授予匿名用户READ访问权限,则可以在不使用授权标头的情况下返回该对象.
如果是这种情况,您可以使用:
$ curl <url-of-your-object> | zcat | grep "log_id"
Run Code Online (Sandbox Code Playgroud)
要么
$ wget -O- <url-of-your-object> | zcat | grep "log_id"
Run Code Online (Sandbox Code Playgroud)
但是,如果您未在对象上授予匿名READ访问权限,则需要创建并发送授权标头作为GET请求的一部分,这与curl/相比有些繁琐wget.幸运的是,有人已经做到了,这就是由蒂姆·凯的Perl脚本AWS作为推荐的哈.请注意,您不必将Tim Kay的脚本放在您的路径上或以其他方式安装它(除了使其可执行),只要您使用以...开头的命令版本aws.
$ ./aws cat BUCKET/OBJECT | zcat | grep "log_id"
Run Code Online (Sandbox Code Playgroud)
小智 5
今天找到了这个话题,并且喜欢Keith的答案。快进到今天的aws cli已完成:
aws s3 cp s3://some-bucket/some-file.bz2 - | bzcat -c | mysql -uroot some_db
Run Code Online (Sandbox Code Playgroud)
可能会节省别人一点时间。
| 归档时间: |
|
| 查看次数: |
3621 次 |
| 最近记录: |