【问题标题】:How to get the first 100 lines of a file on S3?如何在 S3 上获取文件的前 100 行?
【发布时间】:2016-09-01 04:35:25
【问题描述】:

我在 Amazon S3 上有一个巨大的 (~6 GB) 文件,我想获得它的前 100 行,而不必下载整个文件。这可能吗?

这是我现在正在做的事情:

aws cp s3://foo/bar - | head -n 100

但这需要一段时间才能执行。我很困惑——head 不应该在读取足够多的行后关闭管道,导致aws cp 在有时间下载整个文件之前因 BrokenPipeError 而崩溃?

【问题讨论】:

    标签: amazon-s3


    【解决方案1】:

    使用 GET 请求中的 Range HTTP 标头,您可以检索存储在 Amazon S3 中的对象中特定范围的字节。 (见http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html

    如果您使用 aws cli,则可以使用 aws s3api get-object --range bytes=0-xxx,请参阅 http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html

    它与行数不完全一样,但应该允许您部分检索文件,因此避免下载完整对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-27
      • 2010-12-19
      • 2016-01-11
      • 2020-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      相关资源
      最近更新 更多