Accessing chunked data often requires reading specific, pre-known byte ranges from a file.
S3 already supports this (AWSS3.jl has a keyword to read for this reason) and some HTTP implementations also support retrieving a certain range of bytes from the response.
The ideal function would have a generic implementation that looks like:
function readbytes(path, start, stop)
open(f) do io
seek(io, start)
read(io, stop-start)
end
end
and packages like AWSS3.jl could override if they have more efficient ways to perform this kind of access.